W3Schools.com ve <menu>
Araç Çubuğu menüleri ve liste form kontrol komutları için kullanılması gereken W3C.org durumunu gördüğümü hatırladığımdan oldukça eminim .
Peki ana menüm için hangisini kullanmalıyım? Nav
veya Menu
? Önemli mi?
W3Schools.com ve <menu>
Araç Çubuğu menüleri ve liste form kontrol komutları için kullanılması gereken W3C.org durumunu gördüğümü hatırladığımdan oldukça eminim .
Peki ana menüm için hangisini kullanmalıyım? Nav
veya Menu
? Önemli mi?
Yanıtlar:
nav
iç bağlantı grupları ( a
elemanlar) için kullanılır. Genel olarak bu, bağlantıların ayrı sayfalara gitmesi veya bir AJAX sayfası olması durumunda içeriği değiştirmesi gerektiği anlamına gelir. Bir nav
öğeye tıkladığınızda bir tür içerik değişikliği bekleyin .
menu
kontrol grupları için kullanılır ( a
, input
, button
). Genellikle bu, girişlerin sayfa içinde bir işlev gerçekleştirmesi gerektiği anlamına gelir. Bir menu
öğeye tıkladığınızda bir tür javascript etkileşimi bekleyin .
nav
: site için gezinme .
menu
: bir web uygulamasının menüsü .
<menu>
W3C HTML5 özelliklerinden birine yönlendirebilir mi? Bunu WHAT WG sürümünde buluyorum , ancak en son W3C HTML 5.3 taslağında bulmuyorum .
İşte nasıl farklı olduğuna dair bir bölüm içeren bir HTML5Doctor gönderisinav
menu
(temelde, gerçek uygulamalarda kullanın). İstediğin gibi görünüyor nav
.
Bununla birlikte, <menu>
genellikle bağlam menüleri için kullanılır.
MDN'de iyi belgeler vardır: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/menu
Bu yanıtı almanın en iyi yeri HTML 5 standartlarının kendileri.
Menü , HTML 5.1 2. Baskı'da tanımlanmıştır .
"... bir komut grubunu temsil eder."
Gezinme , HTML 5'te tanımlanmıştır .
Bu, "... bir sayfanın diğer sayfalara veya sayfa içindeki bölümlere bağlanan bölümü: gezinme bağlantılarının olduğu bir bölüm."
Dahil etmediğim ancak önemli olduğunu düşündüğüm nav notları var, ancak tanımı standartlardan kendiniz almanızın en iyisi olduğunu düşünüyorum.
Bu yazıda yanıt olarak işaretlenen tanımlar doğruya yakındır, ancak içlerinde yanıtı yanlış kılan gereksiz ifadeler vardır.
<nav>
bir bölümdür ( <section>
veya gibi <article>
), bu yüzden HTML belgenizin ana hatlarında görünecektir. Bu nedenle <menu>
, zamanın% 99'unu kullanırdım . Bana göre, <nav>
aralarında bir karışımıdır <section>
ve <menu>
katma daralma ile, <nav>
oysa navigasyon için özel olarak kullanılmalıdır <menu>
(bir gezinti çubuğu dahil) bir menü olarak adlandırabileceğimiz şey için olabilir. Bu nedenle, gezinme çubuklarının çoğu, gezinme çubuğu olmalarına rağmen, katı gereksinimlerine uymaz <nav>
ve <menu>
daha uygundur.
Web geliştirme kariyerimde hiçbir zaman gezinme çubuğumun belge taslağının bir parçası olmasını istediğim bir durum bulamadım.
<menu>
bir web uygulaması olmayan bir web sitesinde -% 99 zaman, navigasyon menüsü 'ne sayfasında, diğer sayfalara veya diğer bölümlere statik bağlantılar olacak <nav>
, içindir göre şartnameye göre.
nav
iyi bir etiket seçimi değildir nav
, çünkü bir bölüm elemanıdır, bu yüzden bir başlık ve içeriğe sahip bir bölüm gibi belge taslağının bir parçası haline gelecektir. Bu aslında nav
bir bölüm gibi davranmanızı istediğiniz nadir bir senaryodur . menu
anlamsal bir ikame olarak sadece bir öneriydi. Spesifikasyonda bu şekilde kullanılamayacağını söyleyen hiçbir şey görmüyorum. Uygun görünüyor. Ancak herhangi bir nedenle menünün yalnızca bir web uygulaması olarak tanımladığınız şey için olduğuna inanıyorsanız, o zaman tavsiye ederim ol
veya ul
bir yedek olarak.
<menu>
şu anda hala zayıf desteği vardır. (Chrome'un bunu desteklemediği gerçekten doğru mu?) Ayrıca, role="menu"
özniteliği başka bir öğeye (örneğin, bir div veya nav) sağlayarak aynı anlamsallığı elde edebilirsiniz . Role özniteliği, herhangi bir öğe için varsayılan semantiği geçersiz kılar.