Main title
This is the content of this section
Аурэлио Де Роза несколько дней назад выпустил, на мой взгляд, очень привлекательную статью, которой я хочу с вами поделиться на тот случай, если у вас плохо с английским.Несколько недель назад на SitePoint были опубликованы две мои статьи, в которых я рассмотрел наиболее часто задаваемые на собеседовании вопросы по JavaScript (в случае, если вы пропустили:»5 Typical JavaScript Interview Exercises» и »5 More JavaScript Interview Exercises»).Обе эти статьи имели огромный успех, что было крайне неожиданным. Я решил, что пришло время написать подобную статью, но уже на тему HTML — и вот, что у меня получилось.
Валидация разметкиРассмотрим следующую разметку: Валидный ли это код? Поясните, почему.
Ответ В разметке используется тэг picture, который совсем недавно вошел в спецификацию. Код валидный вплоть до последнего изображения в атрибуте srcset; 320y — невалидное значение. Если изменить y на w, то код будет валидным полностью.Элемент main Дайте определение элементу main. Какова его цель? Сходятся ли в определении этого элемента спецификации W3C и WHATWG? Ответ main элемент не имеет единого определения и в каждой спецификации оно разное.Спецификация W3C описывает элемент как главное содержание страницы, то есть контент, который описывает основную тему страницы или является ключевым элементом функциональности приложения. В спецификации также говорится, что на странице не может быть больше одного main элемента.
Спецификация WHATWG не наделяет тэг main какой-либо семантикой и описывает элемент как контейнер для главенствующего содержания какого либо элемента. Также, согласно WHATWG, вам не запрещается иметь на одной странице несколько элементов main. Если у вас имеется несколько article элементов на странице, то вы можете выделить главенствующее содержимое каждого article с помощью тэга main.
WAI-ARIA
Рассмотрим следующую разметку:
Main title
This is the content of this section
Ответ
Код должен быть переписан следующим образом:
This is the content of this sectionMain title
Main title
Другое улучшение касается формы поиска. Сначала форме была добавлена роль search. После чего был добавлен элемент label, который связан с элементом input с помощью атрибута for.
Элемент small Расскажите, в каких случаях уместно использование элемента small и приведите пример.Ответ Элемент small был представлен в HTML 4.01 и предназначался для того, чтобы делать текст маленьким. В HTML5 этому тэгу придали семантическое значение и рекомендуют помещать в него различного рода предупреждения, юридические текст и прочее, что должно быть написано «мелким шрифтом». При этом текст может выглядеть маленьким, но это уже не обязательно.Пример использования приведен ниже:
Права на это изображение являются собственностью Аурелио Де Роза.
Подзаголовки
Подзаголовки — это одни из самых распространенных элементов в любом вебсайте. Несколько лет назад тэг hgroup был представлен как раз для этих нужд, однако совсем недавно он был удалён из спецификации. Можете ли вы описать, почему отказались от hgroup и как проблему с разметкой заголовков решают сегодня? Ответ
Элемент hgroup был создан для того, чтобы группировать заголовки (h1-h6) и тем самым исключить возможность непреднамеренного создания подуровня в иерархии. Чтобы понять, к какой же все-таки проблеме взывает данный тэг, давайте рассмотрим следующую разметку:
This is the content of this sectionMain title
This is a subtitle
h1 | ---h2 | p Эта простая схема наглядно показывает, что параграф являестя содержимым элемента h2 вместо того, чтобы быть содержимым элемента h1, вне зависимости от того, планировалось ли так сделать. Если же было намерение создать подзаголовок, а p связать с h1, то данная разметка является неправильной.
Собственно, элемент hgroup и был создан для того, чтобы решить эту проблему. Однако он был удалён из спецификации HTML5 в апреле 2013 года в виду отсутствия реализаций и отсутствия прецедентов, что делает его использование недопустимым.
Решением для задачи создания подзаголовка так, чтобы следующий далее параграф был связан с h1, изложено ниже:
This is the content of this section
Main title
This is a subtitle
Атрибут longdesc Что такое атрибут longdesc? Можете ли вы объяснить его цель? Ответ Атрибут longdesc элемента img был и во времена HTML4, но и до сих пор считается валидным в HTML5. Этот атрибут был сделан для того, чтобы позволить более детально описывать изображения, нежели это позволяет сделать атрибут alt. Интересная вещь: вместо того, чтобы являть собой описание изображения (как это делает атрибут alt), longdesc указывает на гиперссылку, содержащую описание.Ниже продемонстрирован пример использование атрибута longdesc:
The shown map of Italy illustrates its division
in regions…Italy
Если у вас есть интересные вопросы по HTML? Делитесь ими в комментариях, возможно, тем самым вы поможете другим разработчикам, когда они будут проходить своё собеседование.