Vai ai contenuti

LAU



Home > progettare > accessibilità: strutturare il codice > XLink, XFrames e cyberspazio


XLink, XFrames e cyberspazio

La spazialità digitale è contraddistinta dalla compresenza virtuale dei punti: sfruttando questa caratteristica, link estesi e XFrames sono in grado di potenziare la modalità di fruizione ipertestuale delle risorse Web. I link estesi, definiti nella specifica W3C XML Linking Language (XLink), permettono di pervenire a più risorse contemporaneamente; i frame permettono di visualizzare più risorse contemporanemente: con gli XFrames il W3C si propone di reintrodurli superando gli inconvenienti che ne hanno decretato l'abolizione.

a cura di: Mario Picarelli | 2 ottobre 2006


1. Ipertesti e simultaneità

Il progetto di un sistema di interconnessione ipertestuale risale probabilmente al pionieristico memex di Vannevar Bush: fu Tim Berners Lee a concretizzarlo nel 1990 ideando l'hyperlink, elemento cardine del noto linguaggio di marcatura di ipertesti per il Web, l'HTML.

Base dell'organizzazione ipertestuale, non sequenziale, dei dati è l'elasticità del supporto digitale: la codifica binaria permette infatti di manipolare, combinare e collegare frammenti di informazione rapidamente e a prescindere da posizione e ordine di archiviazione.

L'ipertestualità, tuttavia, non è una prerogativa del digitale.

Le varie sezioni di un quotidiano cartaceo o l'indice di un libro stampato, ad esempio, si prestano anch'essi a una lettura non sequenziale, fornendo molteplici percorsi di reperimento delle informazioni.

Lo stesso atto del leggere è costantemente proiettato in una dimensione mentale in cui si intrecciano fitti rimandi tra segmenti testuali variamente dislocati.

Ma se l'organizzazione ipertestuale permea il processo di lettura a prescindere dal supporto adoperato, qual è allora il tratto distintivo dell'ipertestualità digitale?

Innanzitutto, mentre nei testi a supporto analogico l'attivazione di un rimando implica una paziente ricerca manuale, l'ipertesto elettronico permette di attivare i collegamenti automaticamente, in un click.

In altri termini, mentre nello spazio/tempo analogico ciascun punto è raggiungibile in un arco di tempo relativo alla sua collocazione nel continuum testuale, il digitale situa invece i contenuti in un spazio in cui tutti i punti sono virtualmente accessibili in uno stesso brevissimo intervallo di tempo.

Ma la differenza tra ipertesto analogico e digitale va ben oltre il meccanismo di attivazione dei rimandi: la contrazione estrema di tempi e distanze nel cyberspazio inaugura modalità di organizzazione e di fruizione delle informazioni del tutto nuove.

A questo proposito, cito le considerazioni di mcLuhan sul medium elettricità:

Perci˛ ebbe tanta importanza la rivoluzione operatasi con l'elettricitÓ, che pose fine alla sequenza rendendo i processi del tutto immediati. Con la velocitÓ istantanea le cause dei fatti riaffiorarono all'orizzonte di una nuova consapevolezza, a differenza di ci˛ che accadeva quando le cose erano poste in sequenza, o in concatenazione (Marshall mcLuhan, Gli strumenti del comunicare)

In virtù della velocità di trasmissione dei dati e della conseguente "eliminazione di fattori di spazio e di tempo" (mcLuhan), le distanze nel cyberspazio collassano in una compresenza virtuale in cui ciascuna risorsa diventa immediatamente raggiungibile e confrontabile con qualsiasi altra.

La concatenazione sequenziale che caratterizza l'organizzazione dei contenuti su supporto cartaceo tende pertanto a cedere il posto, in un contesto digitale, alla configurazione simultanea.

Il modo più semplice per concretizzare l'aspirazione a disporre contemporaneamente di più risorse o segmenti di informazione è accostarli in una vista multipla: a questo scopo furono inventati i frame. Aboliti, torneranno probabilmente in auge grazie agli XFrames: nel terzo capitolo del presente articolo accennerò alla relativa Working Draft del W3C.

Un'altro modo per valorizzare la compresenza virtuale è offerto dai link estesi (extended links), di cui tratterò nel capitolo seguente.

torna su

2. Extended links

Si supponga di avere quattro punti, a, b, c e d, interconnessi in modo che da ciascuno sia possibile raggiungere ciascun altro.
In uno spazio vincolato alle distanze fisiche un ipotetico percorso di spostamento è il seguente:

Figura che illustra 4 punti interconnessi in modo che da ciascuno sia possibile raggiungere ciascun altro

Le frecce numerate indicano una serie di step successivi: da a a b (1), da b a c (2), da c a d (3). I tradizionali link ipertestuali, mediante l'elemento <a> , istituiscono connessioni di questo tipo.

In un contesto digitale sarebbe possibile attivare tutti e tre i collegamenti della risorsa a rimandando a b , c e d contemporaneamente:

Figura che illustra 4 punti interconnessi in modo che da ciascuno sia possibile raggiungere ciascun altro

Questa possibilità deriva dall'equidistanza virtuale dei punti che - come ho accennato nel capitolo precedente - caratterizza ipertestualità e spazialità digitali.

La specifica W3C XML Linking Language (XLink) [link esterno] definisce una tecnica per collegare a una risorsa di partenza più risorse di arrivo.

Innanzitutto, è opportuno introdurre la terminologia essenziale: l'attraversamento (traversal) di un XLink si svolge a partire da una risorsa denominata starting resource verso una destinazione denominata ending resource; l'arco (arc) definisce la modalità e la direzione dell'attraversamento.

Ecco un esempio di link esteso:

<esempio xlink:type="extended" xmlns:xlink=”http://www.w3.org/1999/xlink”>
	<risorsa xlink:type="locator" x
		link:href="http://www.a.org/A.htm" xlink:label="partenza" xlink:title="A" />
	<risorsa xlink:type="locator" x
		link:href="http://www.b.org/B.htm" xlink:label="destinazione" xlink:title="B" />
	<risorsa xlink:type="locator" x
		link:href="http://www.c.org/C.htm" xlink:label="destinazione" xlink:title="C" />
	<risorsa xlink:type="locator" x
		link:href="http://www.d.org/D.htm" xlink:label="destinazione" xlink:title="D" />
	<linkmultiplo xlink:type="arc" xlink:from="partenza" xlink:to="destinazione" />
</esempio>

Il valore extended dell'attributo xlink:type definisce la tipologia di XLink; il namespace dichiara l'URI della specifica.
Seguono, annidati, i localizzatori di risorsa (xlink:type="locator") dotati di etichetta (xlink:label), titolo (xlink:title) e riferimento a un URI (xlink:href).
L'arco (xlink:type="arc") definisce la direzione dell’attraversamento e le risorse coinvolte mediante gli attributi xlink:from (che ha come valore l'etichetta della risorsa di partenza) e xlink:to (che ha come valore l'etichetta della risorsa di arrivo).

Si noti che le etichette delle risorse b, c e d sono identiche: in questo modo, l'arco è in grado di stabilire un collegamento che dalla risorsa di partenza a punta simultaneamente alle tre risorse etichettate destinazione. Con questo semplice stratagemma si ottiene un link dotato di una molteplicità di destinazioni.

Per una trattazione più dettagliata degli extended links, si veda la Recommendation XML Linking Language (XLink) [link esterno].
La succitata specifica, tuttavia, non precisa standard né per il comportamento né per la visualizzazione degli XLink: si limita a suggerire l'uso di menu a pop-up per presentare il ventaglio delle possibili destinazioni dei link estesi.
Una simile soluzione "a menu" è stata adottata, ad esempio, in Extended Link Visualization with DHTML: The Web as an Open Hypermedia System. [link esterno]
Questa e parecchie altre possibilità sono acutamente analizzate in The Look of the Link - Concepts for the User Interface of Extended Hyperlinks [link esterno], di cui riporto un breve estratto:

We would suggest to use the role attributes to allow filtering, thus displaying only part of the link targets available. In certain cases it might even be desirable that a default destination is automatically selected when the left mouse button is clicked. Indicated by the mouse pointer, a pop-up appears only on right mouse click, presenting a choice of complementary link targets.

In italiano :

Suggeriamo di utilizzare i role attributes per consentire un filtraggio, visualizzando così solo parte dei link disponibili. In certi casi può essere persino desiderabile che venga selezionata automaticamente una destinazione di default cliccando il pulsante sinistro del mouse. Indicato dal puntatore del mouse, un pop-up appare solo al click destro del mouse, presentando una scelta dei link di destinazione restanti.

Filtrando opportunamente le informazioni veicolate dalla marcatura semantica degli XLink (vedi sezione 5.5 Semantic Attributes (role, arcrol, and title) della specifica [link esterno] si potrebbero selezionare automaticamente, tra le destinazioni del link esteso, quelle più pertinenti.
Consiglio vivamente la lettura integrale dell'articolo [link esterno].
Da quando furono introdotti nel 2001 ad oggi, concetti e funzionalità dell'XLink sono stati in gran parte ereditati da altri linguaggi: si pensi innanzitutto a Hlink [link esterno] , che pare destinato a rimpiazzare XLink in vista di un'integrazione ottimale con l'XHTML 2.0.

A proposito di fortune e sfortune di questo linguaggio promettente ma poco considerato, si legga l'articolo - un po' datato ma sotto molti aspetti ancora attuale - XLinks who cares? [link esterno].

torna su

3. XFrames

La specifica HTML 4.0 [link esterno] introduce così i frame:

HTML frames allow authors to present documents in multiple views, which may be independent windows or subwindows. Multiple views offer designers a way to keep certain information visible, while other views are scrolled or replaced. For example, within the same window, one frame might display a static banner, a second a navigation menu, and a third the main document.

In italiano:

I frame HTML permettono agli autori di presentare documenti in viste multiple, che possono essere finestre indipendenti o sotto-finestre. Le viste multiple offrono ai progettisti un modo per mantenere visibili certe informazioni mentre altre vengono scorse o rimpiazzate. Ad esempio, entro una stessa finestra, un frame può mostrare un banner statico, un altro un menu di navigazione, e un terzo il documento principale.

I frame sono stati spesso impiegati, come suggerito dal passo citato, per suddividere la pagina in sottocomponenti (banner, menu, eccetera).
Ciascuna cornice contiene di fatto una risorsa autonoma, fruibile e navigabile a prescindere dalle altre: è pertanto possibile svincolare i frame dai ruoli prestabiliti nella composizione della pagina e impiegarli semplicemente per accostare in una vista multipla risorse indipendenti.

<frameset cols="*, *, *">
 <frame src="http://www.a.org/A.htm" name="a" />
 <frame src="http://www.b.org/B.htm" name="b" />
 <frame src="http://www.c.org/C.htm" name="c" />
</frameset>

Questa struttura permette di visualizzare, comparare e navigare nella stessa pagina tre risorse Web irrelate.
Un simile layout potrebbe essere adoperato, ad esempio, per una presentazione simultanea delle ending resources di un link esteso. Questa potenziale complementarità tra extended links e frame poggia evidentemente sulla comune tendenza a sfruttare la compresenza virtuale delle risorse Web: i link estesi rimandano a più risorse contemporaneamente, i frame visualizzano più risorse contemporameamente.
Come alternativa ai frame (aboliti per note ragioni di accessibilità, usabilità e trovabilità) è stato finora incoraggiato il ricorso a soluzioni basate sui fogli di stile a cascata.

Sebbene con i CSS sia possibile simulare vantaggiosamente un layout a frame frammentando la pagina in molteplici riquadri (vedi I vantaggi dei frame senza i frame), è tuttavia impossibile assemblare in una medesima pagina risorse Web disparate, ciascuna dotata di un proprio URL.

Gli XFrames [link esterno], attualmente allo stato di Working Draft, promettono di rimpiazzare in modo soddisfacente le funzionalità dei frame e di aggirarne gli inconvenienti grazie a un flessibile meccanismo di associazione degli URLs all' id dei frame.

Ecco un esempio di XFrames:

<frames xmlns="http://www.w3.org/2002/06/xframes/">
 <head>
  <title>esempio</title>
  <style type="text/css">
   #a {height: 10em;}
   #b {height: 10em;}
   #c {height: 20em;}
  </style>
 </head>
 <group compose="horizontal">
  <group compose="vertical">
   <frame source="http://www.a.org/A.htm” xml:id="a" />
   <frame source="http://www.b.org/B.htm" xml:id="b" />
 </group>
   <frame source="http://www.c.org/C.htm" xml:id="c"/>
 </group>
</frames>

frames è l'elemento radice; l'attributo xmnls indica, come di consueto, il namespace della specifica.

L'elemento head contiene un title e un elemento style in cui inserire istruzioni di stile per i frame, prive comunque di effetto sui contenuti. In assenza di indicazioni di stile, l'user agent si atterrà alle indicazioni fornite dall'attributo compose degli elementi group.

L'elemento group può fungere da contenitore sia per elementi frame che per altri elementi group .

L'attributo compose permette di configurare i gruppi: il valore vertical dispone i frames uno sopra l'altro, il valore orizontal uno accanto all'altro. Il layout risultante dell'esempio avrà quindi pressappoco questo aspetto:

Immagine raffigurante il layout risultante dell'esempio

Gli altri possibili valori dell'attributo compose sono: single , che permette di visualizzare un solo frame per volta (ma non viene precisato come selezionare i frame "nascosti"); free, che definisce frame sovrapponibili e ridimensionabili a discrezione dell'utente; un generico riferimento a Qname esterni, con cui è lasciata aperta l'eventualità di ulteriori soluzioni.

Gli elementi vuoti frame costituiscono le vere e proprie "cornici" delle risorse.
L'identificazione dei frame mediante id univoci svolge un ruolo cruciale: nell'URL del frameset, infatti, le risorse vengono associate all' id dei rispettivi frame secondo questo schema:

nome.xfm#frames(a=http://www.a.org/A.html, 
b=http://www.b.org/B.html, c=http://www.c.org/C.html)

All'URI del frameset (nome.xfm) seguono un diesis, la parola chiave frames e un'espressione tra parentesi tonde in cui sono esplicitate le associazioni tra i frames (individuati dall' id) e le risorse corrispondenti. L'attributo source, opzionale, indica la risorsa che popola di default il frame.

Il vantaggio di questa tecnica è che, nel corso della navigazione all'interno di un frame, l'associazione id/URL nell'URI del frameset viene modificata automaticamente di volta in volta, evitando così buona parte dei problemi dei frames vecchia maniera.

Per ulteriori dettagli, si veda la già citata Working Draft XFrames [link esterno].

torna su

4. Webografia

Il termine "cyberspazio [link esterno]" (dal greco kyber, navigare) compare per la prima volta nel romanzo-culto del 1984 Neuromante [link esterno] di William Gibson. Ispiratore di neologismi come cyberpunk o cybercultura, "cyberspazio" è comunemente adoperato per designare la spazialità digitale.

XML Linking Language (XLink) Version 1.0 [link esterno]
W3C Recommendation 27 June 2001.

The Look of the Link - Concepts for the User Interface of Extended Hyperlinks [link esterno]

Extended Link Visualization with DHTML: The Web as an Open Hypermedia System. [link esterno]

XLinks who cares? [link esterno]

XFrames [link esterno].
W3C Working Draft 12 October 2005.

torna su|

[ Torna all’inizio della pagina ]



Sito realizzato dal Laboratorio di Accessibilità e Usabilità del CSI Piemonte - Dichiarazione di accessibilità

[ Torna all’inizio della pagina ]