W3Schools.com과 <menu>
도구 모음 메뉴 및 양식 제어 명령 나열에 사용되어야 하는 W3C.org 상태를 본 기억이납니다 .
그렇다면 메인 메뉴로 어떤 것을 사용해야합니까? Nav
, 또는 Menu
? 그게 그렇게 중요한 건가?
W3Schools.com과 <menu>
도구 모음 메뉴 및 양식 제어 명령 나열에 사용되어야 하는 W3C.org 상태를 본 기억이납니다 .
그렇다면 메인 메뉴로 어떤 것을 사용해야합니까? Nav
, 또는 Menu
? 그게 그렇게 중요한 건가?
답변:
nav
내부 링크 ( a
요소) 그룹에 사용됩니다 . 일반적으로 이는 링크가 별도의 페이지로 이동하거나 AJAX 페이지의 경우 콘텐츠를 변경해야 함을 의미합니다. nav
항목을 클릭하면 어떤 종류의 내용이 변경 될 수 있습니다 .
menu
컨트롤 군에 사용되는 ( a
, input
, button
). 일반적으로 이것은 입력이 페이지 내에서 기능을 수행해야 함을 의미합니다. menu
항목을 클릭 할 때 일종의 자바 스크립트 상호 작용을 기대 하세요.
nav
: 사이트 탐색 .
menu
: 웹 애플리케이션 의 메뉴 입니다.
<menu>
가 W3C HTML5 사양 중 하나를 알려줄 수 있습니까? WHAT WG 버전 에서 찾을 수 있지만 최신 W3C HTML 5.3 초안 에서는 찾을 수 없습니다 .
다음은 HTML5Doctor 게시물nav
과 차이점에 대한 섹션입니다 menu
(기본적으로 실제 앱에서 사용). 원하는 것 같습니다 nav
.
와 함께 <menu>
일반적으로 상황에 맞는 메뉴에 사용됩니다.
MDN에는 좋은 문서가 있습니다 : https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu
이 답을 얻을 수있는 가장 좋은 곳은 HTML 5 표준입니다.
메뉴 는 HTML 5.1 2nd Edition에 정의되어 있습니다.
"...는 명령 그룹을 나타냅니다."
Nav 는 HTML 5에 정의되어 있습니다.
즉, "... 다른 페이지 또는 페이지 내 부분으로 연결되는 페이지 섹션 : 탐색 링크가있는 섹션"입니다.
내가 포함하지 않았지만 중요하다고 생각하는 nav에 대한 메모가 있지만 표준에서 정의를 직접 얻는 것이 가장 좋습니다.
이 게시물에 답변으로 표시된 정의는 정답에 가깝지만 답변 자체를 잘못 만드는 관련없는 설명이 있습니다.
<nav>
섹션이 (처럼 <section>
나 <article>
)는 HTML 문서 개요에 나타납니다 있도록. 이로 인해 <menu>
99 %의 시간을 사용합니다. 나 <nav>
에게는와 사이의 혼합 <section>
이며 <menu>
, <nav>
특히 탐색에 사용되어야 하는 추가 된 수축 이있는 반면 <menu>
메뉴 (탐색 막대 포함)라고 할 수있는 모든 항목에 사용할 수 있습니다. 그래서 대부분의 네비게이션 바는, 그들이 탐색 바 있다는 사실에도 불구하고,의 엄격한 요구 조건에 맞지 않는 <nav>
, 그리고 <menu>
더 적합하다.
웹 개발 경력에서 내 탐색 모음이 문서 개요의 일부가되기를 원하는 상황을 발견 한 적이 없습니다.
<menu>
하여 웹 응용 프로그램이 아닌 웹 사이트 - 시간의 99 %가 탐색 '메뉴는'무엇 페이지에 다른 페이지 또는 다른 섹션에 정적 링크 수 없습니다 <nav>
위한 것입니다 따라 사양에.
nav
이기 때문에 좋은 태그 선택이 아니므 nav
로 헤더와 내용이있는 섹션 인 것처럼 문서 개요의 일부가 될 것입니다. 이것은 실제로 nav
섹션처럼 행동 하기 를 원하는 드문 시나리오 입니다. menu
의미 론적 대체물로서의 제안 일뿐입니다. 사양에는 이런 식으로 사용할 수 없다는 내용이 없습니다. 맞는 것 같습니다. 그러나 어떤 이유로 메뉴가 웹 앱으로 정의한 것에 만 해당한다고 생각한다면, 나는 추천 ol
하거나 ul
대체 할 수 있습니다.