Corsi on-line

Buttons al posto dei links: una scelta corretta?

Capita non di rado che nella creazione di un’interfaccia grafica gli sviluppatori utilizzino i buttons in sostituzione dei links, cioè per il collegamento ad una risorsa, come se i primi rappresentassero delle componenti per la navigazione. Si tratta di un approccio corretto? E nello stesso modo, è corretto l’utilizzo dei buttons come elementi per la delimitazione come per esempio div e span?

Button

Per rispondere questa domanda è necessario innanzitutto specificare che ciascun tag della sintassi HTML è stato introdotto per svolgere una determinata funzione, quindi per loro natura non dovrebbero essere intercambiabili; esistono naturalmente delle eccezioni, ma in linea generale sarebbe bene tenere presente alcuni punti fermi:

  1. i links sono stati pensati appositamente per il reperimento delle risorse, tenendo conto che tramite CSS essi possono essere stilizzati nel modo in cui si desidera, non dovrebbe essere opportuno utilizzare i buttons al loro posto;
  2. un button è in genere associato ad un’azione che dovrà essere eseguita all’interno della pagina corrente modificandola (ad esempio permettendo la visualizzazione di una notifica o di un contenuto addizionale), per questo motivo non sarebbe buona norma utilizzarlo come elemento di collegamento con risorse presenti in altre pagine;
  3. è possibile utilizzare un button come componente di un’interfaccia, rendendo però palese nel contesto della pagina che non si tratta di un elemento per l’invio di parametri.

Insomma, il terzo punto sembrerebbe in contraddizione con i primi due, quindi potrebbe essere utile introdurre un caso pratico; sostanzialmente un codice come il seguente:

<form action="page.php">
...
<input type=submit>
</form>

Svolge un compito analogo a:

<form action="page.php">
...
<button>Invia</button>
</form>

Mentre:

<button type=button>Un pulsante</button>

Non quivale dal punto di vista funzionale a:

<input type=button value="Un pulsante">

Cercando di essere più chiari possibile, è necessario sottolineare che il type predefinito per un button è submit, quindi se si vuole usare tale elemento deve essere chiaro che esso non è stato introdotto per l’invio dei dati tramite form; quindi, per differenziare chiaramente le due casistiche, potrebbe essere buona norma utilizzare:

<button>

come componente d’interfaccia e:

<input type=button>

all’interno dei form.

Post correlati
I più letti del mese
Tematiche