Perché usare l'attributo lingua?

Domanda

Perché dovrei usare l'attributo lingua nelle pagine web?

L'attributo lang (o talvolta l'attributo xml:lang) specifica il linguaggio naturale del contenuto di una pagina web. Un attributo sul tag html imposta la lingua per tutto il testo della pagina. Se una parte della pagina utilizza del testo in una lingua diversa, è possibile aggiungere un attributo di lingua con un valore differente all'elemento che racchiude il contenuto. Per informazioni su come utilizzare gli attributi della lingua, vedere Dichiarare il linguaggio in HTML.

Risposta rapida

L'identificazione della lingua del vostro contenuto, vi consente di fare automaticamente un certo numero di cose, dal cambiamento dell'aspetto e del comportamento di una pagina, all'estrazione di informazioni, al cambiamento del modo in cui funziona un'applicazione. Alcune applicazioni linguistiche funzionano a livello del documento nel suo complesso, alcune lavorano su frammenti di documento adeguatamente etichettati.

È meglio aggiungere ora le informazioni linguistiche ai vostri contenuti per poterne sfruttare i vantaggi quando si verificano nuovi sviluppi. È semplice da fare quando si creano contenuti, ma più difficile da adattare successivamente.

Dettagli

Elenchiamo di seguito alcuni dei modi in cui le informazioni linguistiche sono utili al momento, tuttavia, poiché le specifiche e i browser evolvono, in futuro potrebbero esserci numerose applicazioni aggiuntive per le informazioni linguistiche.

Pagine di stile

Gli attributi della lingua consentono di variare lo stile del contenuto in base alla lingua. Per ulteriori informazioni su come fare ciò, vedere Styling con l'attributo lang.

Ad esempio, i font o la spaziatura delle linee possono dover essere modificati per adattarsi a diversi alfabeti, le virgolette generate dallo stile potrebbero dover essere diverse a seconda della lingua, l'enfasi può dover essere espressa in modi dipendenti dalla lingua, ecc.

L'esempio seguente mostra come impostare un font specifico per il testo arabo incorporato in una pagina.

body {
    font-family: "Palatino Linotype", "Book Antiqua", Palatino, serif;
    }
:lang(ar) {
    font-family: "Traditional Arabic", "Al Bayan", serif;}

Un altro esempio di comportamento dipendente dalla lingua è la sillabazione. Le regole di sillabazione dipendono molto dalla lingua. La descrizione della proprietà hyphens in CSS (che al momento della scrittura sta iniziando a vedere l'adozione da parte dei browser) dice "La corretta sillabazione automatica richiede una risorsa di sillabazione appropriata alla lingua del testo andato a capo. Lo UA è quindi richiesto solo per sillabare automaticamente il testo per il quale l'autore ha dichiarato un linguaggio (ad esempio via HTML lang o XML xml:lang) e per il quale ha una risorsa di sillabazione appropriata".

The same German text is displayed in two narrow columns side by side
German hyphenation rules are applied when lang="de" is specified, breaking long compound words properly and improving text flow. (Live test.)

Altre caratteristiche tipografiche e di layout che sono influenzate dal linguaggio includono l'a capo, la giustificazione e la conversione dei casi, e molti altrsi aggiungeranno man mano che le specifiche si svilupperanno.

Selezione dei font

Gli User-Agent possono (e lo fanno) utilizzare le informazioni sulla lingua per selezionare i font adatti alla lingua, migliorando così la User Experience complessiva della pagina.

Ad esempio, in una pagina codificata in Unicode, il testo in cinese semplificato, cinese tradizionale, giapponese e coreano può condividere lo stesso punto di codice per un carattere ideografico, ma chi parla queste lingue si aspetta che i glifi utilizzati varino in piccoli dettagli da lingua a lingua. In assenza di uno stile esplicito applicato dall'autore del contenuto, alcuni browser assegnano automaticamente i font appropriati in base alla lingua del contenuto. L'illustrazione nell'immagine qui sotto mostra l'effetto sul testo di non cambiare nient'altro che il valore dell'attributo della lingua in un browser come Firefox o Internet Explorer.

Ricerca

Anche se il rilevamento automatico della lingua è comunemente usato dai principali motori di ricerca per identificare la lingua delle risorse, il markup interno alla pagina può essere utilizzato per migliorare la qualità dei risultati di ricerca in base alle preferenze linguistiche dell'utente.

Controllo ortografico e grammaticale

Gli strumenti di authoring possono adattare l'ortografia e il controllo grammaticale in base alla lingua del contenuto, o ignorare contenuti che non sono nella lingua del correttore ortografico. Ciò può migliorare notevolmente l'efficienza nel controllo ortografico.

Recentemente i browser hanno anche iniziato a consentire agli utenti di controllare l'ortografia del testo che digitano in moduli o elementi con l'attributo contenteditable impostato. Un browser che tiene conto delle informazioni sulla lingua del contenuto può fornire un'esperienza utente più efficace.

Traduzione

Gli strumenti di traduzione possono utilizzare gli attributi della lingua per riconoscere pagine o sezioni di testo in una particolare lingua e regolare automaticamente il processo del flusso di lavoro, o proteggere il testo dalle modifiche apportate dal traduttore negli strumenti di traduzione.

Lettori non di testo

Le informazioni linguistiche aiutano i sintetizzatori vocali e i traduttori Braille a produrre risultati utilizzabili. Queste applicazioni hanno bisogno di sapere se sono in grado di produrre output dal testo, o se forse hanno bisogno di passare a una modalità di lingua diversa.

L'etichettatura linguistica è raccomandata dal W3C Web Accessibility Guidelines, che viene applicata dalle politiche governative in alcuni paesi, ad esempio nel Regno Unito - Disability Discrimination Act (UK).

Parser e script

L'etichettatura dei contenuti con informazioni sulla lingua consente anche un'elaborazione specifica per la lingua stessa.

Per esempio, uno script o un foglio di stile XSLT potrebbe essere usato per fare varie cose, tra cui:

Tenete presente che quando create le informazioni non sempre sapete come le persone vorranno elaborare le vostre informazioni in seguito.

Comunque

L'utilità dell'etichettatura linguistica è aumentata negli ultimi anni, con il progredire della tecnologia, e continuerà ad aumentare. In molti casi, queste applicazioni possono non essere cose che considerate importanti al momento di sviluppare i vostri contenuti, ma possono aumentare di valore con il passare del tempo. Tuttavia, attualmente ci troviamo di fronte a un problema circolare. Le persone che non vedono le applicazioni delle informazioni linguistiche non forniscono informazioni sulla lingua del loro contenuto. Le applicazioni relative alla lingua sono lente ad essere implementate fino a quando queste informazioni non sono ampiamente applicate ai contenuti. Questo ciclo può essere interrotto da autori di contenuti che dichiarano le informazioni linguistiche in maniera naturale. Quanto più i contenuti sono etichettati e taggati correttamente, tanto più utili e pervasive diventeranno tali applicazioni. L'aggiunta di informazioni linguistiche è di solito facile da fare e non comporta sanzioni.