Semantica e markup

Sì sì, ora parliamo anche di questo. Perché, si sente sempre dire di questa “semantica del markup” e “markup semantico” ma non sembra poi così automatico il capire che cosa significhino queste parole. E che relazione ha con l’accessibilità?
Intanto, quali sono i tipi di markup? Ne esistono di varia natura.

Markup presentazionale. È ciò che fanno Word e altri WP, sia formattando in locale sia utilizzando gli stili di paragrafo (che comunque già sarebbe meglio di niente); includono codici nel testo dicendo “questo è grassetto”, “questo è Times allineato a destra”, e così via.Non c’è alcuna possibilità di “indirection“[1. ma come si dice in italiano?], sono regole inflessibili, poco longeve e poco riusabili, però questo tipo di markup è in grado di produrre pagine belle da vedere. In essenza, il markup presentazionale non è visibile all’utente, rendendo così falso il famoso detto” What You See is What You Will Get” che invece viene proclamato proprio in queste occasioni. È da notare però che Word 2003 Pro permette di gestire strutture presentazionali e descrittive contemporaneamente, creando così una specie di mostro, ma utile in certe situazioni.

Markup procedurale. Questo approccio include strumenti unix come troff o TeX, o il inguaggio di descrizione pagine PostScript. Le primitive sono presentazionali, ma incluse in un framework procedurale e così sono disponibili macro e subroutine, e lo stato grafico è sempre conosciuto, come sa chiunque abbia trafficato con primitive PostScript come gsave e grestore. Il markup procedurale può essere editato direttamente dagli umani; ancora oggi molti documenti di fisica o matematica vengono scritti a mano con TeX o LaTeX. Inoltre, quando utilizzate da un esperto, queste tecniche possono produrre output di qualità. Le persone che usano il markup procedurale tendono a costruire macro e soubroutine sempre più sofisticate. Per esempio, assemblano istruzioni che producono “testo grande 16 punti bold sans-serif”, chiamandole title. Che ci conduce a…

Markup descrittivo. Questo è il termine che spiega nel miglior modo cosa tentano di fare XML (e il suo predecessore SGML). L’idea è che il markup non dica come formattare un blocco di testo, ma che tipo di elemento informativo questo rappresenti; come suggerisce il nome, che ne descriva il contenuto (questo è un paragrafo, questa una tabella, un titoli di primo livello, e così via). Il termine forse più corretto in questo contesto è “etichetta”. XML (SGML) fornisce un modo semplice e flessibile per etichettare gli elementi di una struttura dati e per mandarla in giro per il mondo con tutte le sue etichette. HTML è una serie di etichette preconfezionate e progettate in quel modo allo scopo di essere la “lingua franca for publishing hypertext on the World Wide Web”. Come tante altre tecnologie del Web, il markup descrittivo è nato nel mondo delle tecnologie di publishing, e i suoi vantaggi in termini di pubblicazione a grande scala sono evidenti, tanto che non è il caso di parlarne. Con XML si esce dal mondo del publishing, ed è lecito chiedersi se il markup descrittivo possa essere utilizzato anche in altri ambiti. La risposta è sì, le eccezioni sono pochissime. Per esempio, alcuni tag non sono “soltanto” descrittivi, come <b> o <xslt:apply-templates>.

Perché le etichette sono importanti, e perché si parla di “semantica”? Il primo (human-oriented) livello di semantica accade quando applicate etichette a brani di testo in modo che questa attività si rifletta in un significato comprensibile a una persona, e quando selezionate le etichette con una certa cura.

Sembrerebbe una cosa semplice e sensata, ma guardando certe pagine Web si vede che non è così, ed è lecito chiedersi come mai. Nel caso di HTML, le etichette disponibili per gli elementi sono di significato piuttosto chiaro e auto-esplicativo, cosa c’è di difficile? Eh. La cosidetta “presentazione” rende le cose difficili. In un ambiente di authoring ideale, non ci dovrebbero essere elementi presentazionali predefiniti. Un titolo di primo livello non dovrebbe essere grosso e in grassetto, ma soltanto etichettato <h1>.

Fate, se vi va, un esperimento. Scaricate un programma della categoria “WYSIWIM”, ovvero What you see is what I mean, per esempio Lyx o WYMeditor, un editor XHTML web-based, o almeno guardate la demo. Provate a usare uno di questi strumenti, senza pensare alla presentazione ma guardando con attenzione le “etichette”. Descrivono accuratamente il significato di quel frammento di informazione? Dopo aver finito questa analisi ok, ora si può pensare ai CSS. Non prima di tutto…

Perché la struttura è importante per l’accessibilità? Ricordate il concetto di indirection[2. ma come caspita si dice in italiano?] all’inizio? Se ci pensate, i marcatori fanno da flag, e qualsiasi software, assistivo o meno, sa come puntare e gestire dei flag.

Se il flag ha anche un significato semantico (per esempio, questo è un Titolo1, questo Titolo2, e così via) sarà molto semplice per un programma ricavare dal documento queste informazioni, ed elaborarle per ottenere un indice del documento (basta puntare ed estrarre tutti i titoli, e ordinarli) o elencare tutti i link presenti, o individuare le tabelle e i form. Basta cercare i nomi degli elementi e sapere come gestirli… Semplice, vero? È a questo che servono gli standard.

Si tratta di un passo determinante, gratuito e che migliora la qualità del vostro lavoro. Non capisco come sia possibile non approfittarne a man bassa.

Annunci

4 pensieri su “Semantica e markup

  1. Livio,
    parole sante….
    Io provo e spero di riuscire in un prossimo futuro ad andare oltre alla semantica intesa come tag hx per i titoli p per i paragrafi ul e/o ol per le liste etc…
    Come? Utilizzando i microformati.
    Per ora mi sono limitato ad usarli per marcare all’interno del codice indirizzo postale, mail, numero di telefono, fax etc… il microforamto in questione si chiama hCard e a proposito per chi non lo sapesse il tag <address> non serve a questo.
    Credo che in un futuro migliore i microformati saranno utilizzati da tutti.

  2. A giugno, in vacanza, invece di giocare con la mia bimba ho letto il libro di Allsopp “Microformats” e lo ho trovato molto interessante.
    Se fossero supportati a dovere a mio avviso i microformati potrebbero essere una piccola rivoluzione…

    A proposito… dopo quella storia dei refusi ho scoperto di lasciarne sempre qualcuno nei commenti (vedi sopra il microforamto)… mi sa che dovevo stare zitto… o più attento …o ri-studiare l’italiano!!!

    PS: ma il conto qui sotto fa sempre 15 o è un caso che due volte su due mi sia venuto fuori questo numero?

  3. Pingback: Cambio il web - il blog» Blog Archive » MICROFORMATS, empowering tour markup for web 2.0 di John Allsopp (2007)

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione / Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione / Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione / Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione / Modifica )

Connessione a %s...