La la especificación dice lo siguiente sobre {{X0 }} elemento (énfasis mío):

El elemento de navegación representa una sección de una página que enlaza con otras páginas o con partes dentro de la página: una sección con enlaces de navegación .

Nunca dice específicamente que <button> no está permitido, y en ninguna parte dice que solo deben usarse elementos <a> para la navegación (sin embargo, menciona "enlaces"), pero todos los ejemplos parecen ser un montón de anclas en listas El un ejemplo (11) que no es una lista todavía tiene solo elementos de anclaje para la navegación en el interior.

El siguiente ejemplo (12) muestra un ejemplo de navegación en aplicación, pero usa anclas nuevamente.

Entonces, ¿se permiten elementos de botón dentro de <nav>?

0
Lazar Ljubenović 8 sep. 2018 a las 21:56

3 respuestas

La mejor respuesta

En HTML 5.2, 4.8. se trata de enlaces :

Los enlaces son una construcción conceptual, creada por elementos a, area y link, que representan una conexión entre dos recursos […]

Como era de esperar, las definiciones de a (" un hipervínculo "), area (" un hipervínculo ") y link (" los enlaces ", etc.), todos se refieren a enlaces , mientras que las definiciones de { {X3}} y input no lo hagas.

Así que:

1
unor 9 sep. 2018 a las 03:21

Los estándares HTML5 permiten cualquier tipo de contenido de flujo dentro de <nav>: las etiquetas y las <button> se consideran contenido de flujo, pero debe considerar evitarlas por razones semánticas. Los botones basados en <button> son elementos de la interfaz de usuario que están controlados exclusivamente por JavaScript (o en algunos escenarios difíciles por el comportamiento predeterminado del navegador cuando se usan formularios) sin ninguna funcionalidad o referencia semántica hacia una referencia de terceros. Por lo tanto, el uso de <button> - etiquetas dentro de <nav> - etiquetas no tiene sentido para clientes / robots que operan sin considerar javascript.

Los marcos de interfaz de usuario modernos como Bootstrap, Semantic-UI u otros proporcionan la capacidad de implementar botones de múltiples maneras (como <button> - etiquetas y <a> - etiquetas). Teniendo en cuenta tales habilidades, debe preferir confiar en <a> - botones basados en etiquetas por razones semanales.

1
nhlm 9 sep. 2018 a las 03:28