Ну, правильный или нет html распознать проще простого -- сохранить в файл и открыть в браузере (лучше в нескольких). Хотя есть и специальные сайты и программы для верификации.
overflow-y: scroll; Добавляет вертикальную прокрутку, если содержимое блока div не помещается в высоту 300px, чтобы проверить вместо картинки добавь больше текста, и тогда появится прокрутка, если содержимое будет меньше высоты, то в прокрутке нет необходимости.
А вообще ограничивать жестко высоту блока не стоит, это нужно делать только при необходимости, если убрать свойство heigth, то высота блока будет автоматически подстраиваться под его содержимое.