1

У меня есть этот главный элемент заголовка, который является меню навигации по конкретным страницам. Как вы видите, элемент h1 - это ссылка (меню фиксируется в верхней части страницы, а остальные прокручиваются вниз).html <header role = "menubar"> не проверяется на валидаторе w3

Пример:

<header role="menubar"> 
    <a href="#top"> 
     <h1>Main Title</h1> 
    </a> 
    <ul role="menu"> 
     <li role="menuitem"> 
      <a href="#presentation">presentation</a> 
     </li> 
     <li role="menuitem"> 
      <a href="#picture">picture</a> 
     </li> 
     <li role="menuitem"> 
      <a href="#downloads">downloads</a> 
     </li> 
    </ul> 
</header> 

в w3 validator я как сообщение:

Error: Bad value menubar for attribute role on element header.

.

со ссылкой меня в W3 recommendation page for single pages, где разрешенные роли ARIA для элемента заголовка являются:

banner role (default - do not set) or presentation.

.

«по умолчанию - не установлено» на самом деле не вариант, поскольку он не будет иметь обратную совместимость, так как элемент заголовка

«баннер» и «представление» не правильные роли (см banner и presentation)

Так мои вопросы:

  • Что я должен делать? Лучше всего было бы заменить элемент заголовка элементом div. Но я думаю, что это семантически менее полезно, так это ?

  • Возможно ли, что этот случай не был действительно рассмотрен W3C людьми или это 100% неправильно делать это (я имею в виду на семантическом уровне сосредоточив внимание на доступности).

  • Есть ли другие варианты?

спасибо :)

+0

Hi @ChristopheStrobbe, Спасибо за ваш быстрый комментарий. Я опубликовал упрощенную версию меню без состояний и свойств, только роли, потому что это было моей проблемой. В любом случае, вы ответили на мой вопрос, указав навигационный способ. Я думал, что элемент nav должен иметь только ссылки на другие страницы, но, проверяя страницу W3C этого элемента, я вижу, что он также может содержать ссылки на части на странице. Жаль, что он не может быть заголовком, поскольку я все еще думаю, что с семантической точки зрения заголовок более корректный, чем nav. – quasi

ответ

2

Какого код показывает не строка меню, а список навигации. Вместо <header role="menubar"> вам нужно <nav>, и вы должны удалить атрибуты роли из элементов списка. Если вы реализуете строку меню, ваш код очень неполный.

Рекомендации по использованию HTML5 и WAI-ARIA для строк меню см. В разделе Recommended WAI-ARIA implementation for navigation bar/menu.

 Смежные вопросы

  • Нет связанных вопросов^_^