L' <a>
elemento nchor è semplicemente un'ancora verso o da alcuni contenuti. Originariamente la specifica HTML consentiva per anchors con nome ( <a name="foo">
) e anchor collegati ( <a href="#foo">
).
Il formato di ancoraggio denominato viene utilizzato meno comunemente, poiché l'identificatore di frammento viene ora utilizzato per specificare un [id]
attributo (anche se per la compatibilità con le versioni precedenti è ancora possibile specificare gli [name]
attributi). Un <a>
elemento senza [href]
attributo è ancora valido .
Per quanto riguarda la semantica e lo stile, l' <a>
elemento non è un link ( :link
) a meno che non abbia un [href]
attributo. Un effetto collaterale di ciò è che un <a>
elemento senza [href]
non sarà nell'ordine di tabulazione di default.
La vera domanda è se l' <a>
elemento da solo è una rappresentazione appropriata di a <button>
. A livello semantico, esiste una netta differenza tra a link
e a button
.
Un pulsante è qualcosa che quando si fa clic provoca un'azione.
Un collegamento è un pulsante che provoca una modifica nella navigazione nel documento corrente. La navigazione che si verifica potrebbe spostarsi all'interno del documento nel caso di identificatori di frammenti ( #foo
) o passare a un nuovo documento nel caso di urls ( /bar
).
Poiché i collegamenti sono un tipo speciale di pulsante, spesso hanno avuto la precedenza sulle loro azioni per eseguire funzioni alternative. Continuare a usare un'ancora come pulsante è ok dal punto di vista della coerenza, sebbene non sia abbastanza accurato semanticamente.
Se sei preoccupato per la semantica e l'accessibilità dell'uso di un <a>
elemento (o <span>
, o <div>
) come pulsante, devi aggiungere i seguenti attributi:
<a role="button" tabindex="0" ...>...</a>
Il ruolo del pulsante indica all'utente che l'elemento particolare viene trattato come un pulsante come una sostituzione per qualsiasi semantica che l'elemento sottostante potrebbe aver avuto.
Per <span>
e gli <div>
elementi, potresti voler aggiungere listener di chiavi JavaScript Spaceo Enterattivare l' click
evento. <a href>
e gli <button>
elementi lo fanno per impostazione predefinita, ma gli elementi senza pulsante no. A volte ha più senso associare il click
grilletto a una chiave diversa. Ad esempio, potrebbe essere associato un pulsante "guida" in un'app Web F1.