Подтвердить что ты не робот

Следует ли всегда добавлять элемент content = "contentinfo" в элемент footer?

На демонстрационных веб-сайтах ARIA role="contentinfo" обычно добавляется в элемент footer.

Тем не менее, нижние колонтитулы в современном веб-дизайне могут быть творческими, чтобы они могли также содержать такие вещи, как дополнительные ссылки навигации, ссылки на социальные сайты или даже форму бюллетеня.

Принимая следующие коды нижнего колонтитула, например. Должен ли role="contentinfo" быть добавлен в элемент footer или p?

<footer>
    <nav>
        <ul>
            ........
            ........
            ........
            ........
            ........
        </ul>
    </nav>
    <form>
        ........
        ........
        ........
    </form>
    <p>© 2012 Website.com. All rights reserved.</p>
</footer>


EDIT: Я задал этот вопрос, используя список рассылки W3C ARIA, и ответил Стив Фолкнер, член рабочей группы W3C HTML. Следующее его предложение:

Я бы также принял во внимание, как браузеры сопоставляют элемент нижнего колонтитула с API-интерфейсами доступности.
В Firefox нижний колонтитул сопоставляется с ARIA role = contentinfo
В Webkit/safari/chrome нижний колонтитул сопоставляется с ARIA role = group, если он содержится в элементе раздела или статьи, иначе он отображается на role = contentinfo
В IE он не отображается

Итак, сделаем следующее:
    < div role = "contentinfo" >
        некоторый контент
        <footer> некоторый контент </footer>
  </DIV>

приведет к объявлению вложенных контентов contentinfo в браузерах, которые уже сопоставляют нижний колонтитул с контентом.

Я бы предположил, что добавление role = contentinfo в главный нижний колонтитул, не слишком беспокоиться о содержании, которое, по вашему мнению, может оказаться неприемлемым, находится в нижнем колонтитуле.


Поэтому предложенный подход добавляет role="contentinfo" к основному footer.

4b9b3361

Ответ 1

Я думаю, что это должно быть в теге footer в вашем случае.

Он предназначен для предоставления информации о родительском документе, поэтому я бы использовал его, если элементы нижнего колонтитула дают хороший контекст родителя.

http://www.w3.org/TR/wai-aria/roles#contentinfo

Ответ 2

На данный момент нет окончательного правильного ответа.

Если вы переходите по спецификации: http://www.w3.org/TR/wai-aria/roles#contentinfo, contentinfo описывается как:

"Большой воспринимаемый регион, содержащий информацию о родительском документе. Примеры информации, включенной в этот регион страницы, - это авторские права и ссылки на заявления о конфиденциальности.

Итак, в этом случае он должен быть помещен в тэг <p>.

Однако притворяйтесь, что вы являетесь пользователем, который использует эти ориентиры. Если каждый размещает role="contentinfo" на footer, это то, что ожидает пользователь. Пользователю все равно, что говорит "спецификация", они просто хотят, чтобы постоянный опыт просматривался с веб-сайта на веб-сайт. Вероятно, они ожидают ссылки нижнего колонтитула и такие, что они находятся в разделе contentinfo, потому что это то, как оно реализовано на многих сайтах, и, как вы упомянули, это рекомендуемый способ для многих экспертов по доступности.

Я предпочитаю обслуживать пользователя, и поэтому я применяю его к элементу footer, однако я не помню, что это противоречит спецификации (или, по крайней мере, моей интерпретации), и эта реализация это может измениться, поскольку браузеры и другие доступные технологии начинают более полно реализовывать доступность.

Ответ 3

Я бы пошел с элементом <p>. Я имею в виду, что точка HTML - это дать контекст вашему тексту. Поэтому дайте соответствующий контекст, выполнив соответствующую разметку.

Дайте роль наиболее подходящему элементу, это не является ограниченным атрибутом элементов нижнего колонтитула.

Ответ 4

Это избыточная информация, поскольку семантика уже передана через спецификации HTML5 https://dequeuniversity.com/assets/html/jquery-summit/html5/slides/landmarks.html#the_difference_between_html5_and_aria

Как правило, вы можете пропустить роли ARIA, если они пересекаются с семантическим пониманием элемента HTML5.

Я думаю, что это правильно, но для тестирования этого требует проверки на экране, чтобы определить, что это точно.