Element <a>
nchor jest po prostu kotwicą do lub z jakiejś treści. Oryginalnie specyfikacja HTML dopuszczalna dla nazwanych kotwic ( <a name="foo">
) i połączonych kotwic ( <a href="#foo">
).
Nazwany format kotwicy jest rzadziej używany, ponieważ identyfikator fragmentu jest teraz używany do określenia [id]
atrybutu (chociaż w celu zapewnienia zgodności wstecznej nadal można określić [name]
atrybuty). Elementem bez atrybutu jest nadal ważna .<a>
[href]
Jeśli chodzi o semantykę i stylizację, <a>
element nie jest linkiem ( :link
), chyba że ma [href]
atrybut. Efektem ubocznym jest to, że <a>
element bez tego elementu [href]
domyślnie nie będzie w kolejności tabulacji.
Prawdziwe pytanie brzmi, czy <a>
sam element jest odpowiednią reprezentacją a <button>
. Na poziomie semantycznym istnieje wyraźna różnica między a link
i a button
.
Przycisk to coś, co po kliknięciu powoduje wykonanie akcji.
Łącze to przycisk, który powoduje zmianę nawigacji w bieżącym dokumencie. Nawigacja, która ma miejsce, może polegać na poruszaniu się w dokumencie w przypadku identyfikatorów fragmentów ( #foo
) lub przechodzeniu do nowego dokumentu w przypadku adresów URL ( /bar
).
Ponieważ łącza są specjalnym typem przycisków, często ich działania były zastępowane, aby wykonywać alternatywne funkcje. Dalsze używanie kotwicy jako przycisku jest w porządku z punktu widzenia spójności, chociaż nie jest całkiem dokładne semantycznie.
Jeśli obawiasz się semantyki i dostępności używania <a>
elementu (lub <span>
, lub <div>
) jako przycisku, powinieneś dodać następujące atrybuty:
<a role="button" tabindex="0" ...>...</a>
Rola przycisku informuje użytkownika, że dany element jest traktowany jako przycisk jako nadpisania niezależnie semantyka elementu bazowego może mieli.
Dla <span>
i <div>
elementy, może chcesz dodać słuchaczy kluczowych JavaScript Spacelub Enteraby wywołać click
zdarzenia. <a href>
a <button>
elementy robią to domyślnie, ale elementy niebędące przyciskami nie. Czasami bardziej sensowne jest powiązanie click
spustu z innym klawiszem. Na przykład przycisk „Pomoc” w aplikacji internetowej może być powiązany z F1.