2010-06-14 13 views
26

W Przewodniku Web Content Accessibility stwierdza się, że należy podać link "pomiń", który przeskoczy (na przykład) przez blok nawigacji i bezpośrednio do treści. Jest to szczególnie przydatne dla słabszych użytkowników, którzy używają czytnika ekranu do głośnego opisu strony.HTML5 Jak pominąć nawigację, gdy nazwa atrybutu jest nieaktualna

6.2 Grupowanie i zablokowanie linki WCAG Guidelines

Jednak technika ta polega na użyciu atrybutu nazwy na znacznik zakotwiczenia:

<h2><a name="content">Content</a></h2> 

Wraz z pomijania-to link:

<a href="#content">Skip to content</a> 

Problem polega na tym, że atrybut "nazwa" znacznika zakotwiczenia jest przestarzały w HTML5. HTML Obsolete Features

Czy istnieje inny sposób osiągnięcia tej funkcji "przejdź do" bez użycia atrybutu nazwy?

Przypis: Status specyfikacji HTML5 w wersji wciąż w wersji roboczej i możliwe, że atrybut nazwy będzie nadal dozwolony w tym scenariuszu - chociaż prawdopodobnie nadal będzie generować "ostrzeżenie". Obecnie jest oznaczony jako "przestarzały, ale zgodny", co oznacza, że ​​nadal można go używać - jednak chciałbym poznać inne sposoby wykonania "przejścia do", aby sprawdzić, czy istnieje sposób, aby to zrobić, " t polegać na przestarzałym atrybucie.

+1

Bez obrazy na myśli, ale * nie * obejrzenia tej strony Przestarzałe funkcje? Zawiera sekcję o [nazwa atrybutu] (http://www.w3.org/TR/html5/obsolete.html#attr-a-name): "Użyj zamiast tego atrybutu" id "." –

+0

@Marcel - Czytałem, że w rzeczywistości wszystkie przestarzałe atrybuty są przestarzałe, ponieważ istnieje lepsza alternatywa - właściwie nie zdawałem sobie sprawy, że atrybut id umożliwił skierowanie elementu na ten typ linku, co jest konkretnym pytaniem. – Fenton

Odpowiedz

35

Zamiast <a> tagów można użyć dowolnego elementu z atrybutem id:

<h2 id="content">Content</h2> 

<a href="#content">Skip to content</a> 

edycji, znalazłeś źródło (choć to Wikipedię ;-)):

Alternatywnie (i czasami jednocześnie), z ustawionymi atrybutami name lub id, element staje się celem. Jednolity lokalizator zasobów może łączyć się z tym obiektem docelowym za pomocą identyfikatora fragmentu. Każdy element można teraz przekształcić w kotwicę za pomocą atrybutu id, [2], więc używanie <a name="foo"> nie jest konieczne.

http://en.wikipedia.org/wiki/HTML_element#Anchor

+5

Lub po prostu umieść 'id' bezpośrednio na' h2'. – RoToRa

+1

Nigdy nie wiedziałem, dlaczego ludzie używają atrybutu name w pierwszej kolejności, kiedy większość elementów, do których trzeba wskoczyć, może zawierać pomysł. Daje to również opcje stylizacji. –

+2

@ Jonny Haynes: Kilka lat temu nie wiedziałem, że mogę też użyć 'id'. W tamtym czasie było to spowodowane brakiem właściwej opieki, nauczyciele z college'u powiedzieli mi, żebym używał "nazwy", a tutoriale internetowe zrobiły to samo. Dobrze, że 'name' jest teraz przestarzałe, ponieważ i tak jest to bezsensowne. –

Powiązane problemy