Стандарты HTML5 разрешают любой вид содержимого потока внутри тегов <nav>
и <button>
считаются содержимым потока, но вам следует избегать их по семантическим причинам. Кнопки, основанные на <button>
, являются элементами пользовательского интерфейса, которые управляются исключительно javascript (или в некоторых хитрых сценариях из-за поведения браузера по умолчанию при использовании форм) без какой-либо функциональности или семантической ссылки на стороннюю ссылку. Поэтому использование тегов <button>
внутри тегов <nav>
не имеет смысла для клиентов / роботов, которые работают без учета JavaScript.
Современные UI-фреймворки, такие как Bootstrap, Semantic-UI или другие, предоставляют возможность реализовывать кнопки несколькими способами (как теги <button>
, так и теги <a>
). Принимая во внимание такие способности, вы должны предпочесть использовать кнопки на основе <a>
-tag по причинам семантики.