Tutti gli elementi HTML come link

Venerdì 25 Luglio 2008 - 09:39

di Cesare Lamanna

Web Standards

Mi era sfuggito che Eric Meyer stesse lavorando ad una proposta molto particolare relativa ad HTML. L’idea di fondo è quella di poter disporre di elementi che di per sé possano agire da link, senza necessità di ricorrere al classico a.

Pensate alle immagini. Oggi, per renderle come link, bisogne racchiuderle in un elemento a e aggiungere a quest’ultimo l’attributo href. Quello che Meyer propone (anche agli estensori della specifica HTML 5) è l’estensione di href su tutti gli elementi per i quali tale estensione possa apportare dei vantaggi o una qualche utilità. Nella proposta non manca comunque di prendere in esame i pro e i contro di altre opzioni.

Per spiegare al meglio quanto intende, ha anche presentato nei dettagli una demo che mette in pratica il tutto con l’ausilio di Javascript.

Tags:

Categoria: Web Standards | Permalink

Commenti

1

Mi sembra poco utile.
Si crea solo una gran confusione.
Sono sempre propenso ad un oggetto per una funzione.

# - postato da lordmax - 25 Luglio 2008 - 10:53

2

Concordo con lordmax, quello di cui veramente sento il bisogno è un elemento di link che possa contenere elementi di tipo blocco in modo da evitare errori di validazione.

Ad esempio, se ora voglio rendere una foto e la sua descrizione un link, per quest’ultima devo usare un elemento span, che da una pessima resa quando la pagina viene vista senza css.

E’ un po’ lo stesso problema che si incontra quando si vogliono usare le liste all’interno dell’elemento p.

# - postato da Riot - 25 Luglio 2008 - 11:07

3

Concordo pienamente con il parere negativo sulla soluzione di Eric Meyer.
Ho sempre creato codice pulito e che lo possa capire anche il mio collega.
Utilizzando questa soluzione si crea molta confusione.
Come lordmax “Un oggetto per una funzione”

# - postato da Lorenzo Sfienti - 25 Luglio 2008 - 11:58

4

@Riot
usare le liste in un paragrafo? capisco se intendi fare il contrario

Concordo con Eric, il codice sara’ molto piu’ sematico e pulito. L’elemento a aveva molta importanza quando il web era unicamente testo e collegamenti ipertestuali.

L’unico contro sara’ la retrocompatibilita’, ma non si puo’ bloccare il progresso per questo motivo.

# - postato da Martin Sarsini - 25 Luglio 2008 - 12:32

5

Secondo me, è meglio che si continui ad utilizzare il tag “a”.

# - postato da Mattia - 25 Luglio 2008 - 13:39

6

A me questa soluzione non dispiacerebbe..

# - postato da lloyd27 - 25 Luglio 2008 - 13:52

7

Forse ho frainteso, ho forse avete frainteso voi, ma siete 5 contro 1, quindi probabilmente sono io a non aver capito; comunque dico la mia lo stesso…

@lordmax

Si crea solo una gran confusione.

Perché mai? Ti faccio un esempio.
Ora come ora, se una foto la racchiudi tra i tag A, l’utente la vede come se fosse un link; se in seguito alla proposta di Eric Meyer il tag IMG potrà avere l’attributo href, il navigatore non si accorgerà della differenza e continuerà a vederlo come link, ma tu risparmierai di scrivere molto codice.

@Riot

un elemento di link che possa contenere elementi di tipo blocco

Non sarebbe sufficiente poter assegnare al tag DIV l’attributo href?

@Lorenzo Sfienti

Un oggetto per una funzione

Ci sono 1000 altri tag html che vengono usati, in modo semanticamente non scorretto, per gli scopi più svariati (come quando dai il display:block ai tag A per costruirci i menu insieme al tag UL).

@Martin Sarsini

L’unico contro sarà la retrocompatibilità

Perché mai? Mica il tag A sparisce?

# - postato da DAG - 25 Luglio 2008 - 14:03

8

no DAG, l’elemento A non “sparisce” di certo, la proposta di Eric e’ appunto di introdurre l’attributo href ANCHE per altri elementi. Io parlavo di retrocompatibilita’, perche’ ovviamente se questa novita’ viene introdotta non sara’ nativamente supportato da browser precedenti a questo standard.

# - postato da Martin Sarsini - 25 Luglio 2008 - 14:54

9

ho riscontrato diversi errori javascript nella demo!!

# - postato da Francesco - 25 Luglio 2008 - 15:20

10

@Martin Sarsini
No, intendo proprio le liste all’interno di un paragrafo, l’inverso già si può fare.

Per esempio: p Entro domani vorrei fare: ul lista delle cose da fare chiuso ul chiuso p.

Semanticamente mi sembra più corretto, ma stiamo andando OT.

@DAG
E’ vero, ma in questo modo si perderebbe l’importanza dei link che diverrebbero un semplice attributo.
Poi pensa ai problemi con i css, a quelli di reset soprattutto: bisognerebbe specificare un caso per ogni tag, e probabilmente anche uno per ogni stato (link, hover, visited, active).

Io invece proporrei un elemento di tipo block con le caratteristiche di a, ma capace di contenere paragrafi, div e simili.

Con due soli elementi anche il parsing diventerebbe molto più semplice.

# - postato da Riot - 25 Luglio 2008 - 18:07

11

mah

1 - con javascript disabilitato non funziona

2 - con javascript disabilitato o non compatibile pur non funzionando da all’utente l’illusione che li ci sia un link, lui clicca e non succede nulla

3 - il tasto tab per passare da link all’altro non funziona

4 - non mi funziona con Explorer 7

5 - da per scontato che l’utente faccia click sul link per attivarlo invece che, per esempio, usare scorciatoie da tastiera

6 - non supporta il title

7 - la barra di stato non visualizza il link sull’onmouseover, nonostante il codice lo preveda

8 - il codice html ovviamente non è valido

9 - è ignorato dai motori di ricerca, dalle proprieta della pagina dei browser, e da qualsiasi altro software che deve analizzare il codice di una pagina

questi gli incovenienti che ho trovato,
una parte essere corretti con un codice javascript più accurato

W l’A

# - postato da Mik - 26 Luglio 2008 - 01:24

12

L’utilizzo di JavaScript serve solo per avere un esempio, non e` quello che l’autore vuole come risultato finale.

# - postato da Mattia - 26 Luglio 2008 - 08:27

13

Trovo questa proposta molto interessante.

Il formato DocBook dalla versione 5 contempla già questa funzionalità e devo dire che è molto utile. Poiché la gestione dei link avviene tramite un namespace, una volta mixato il namespace nell’XML è possibile associare l’attributo xref virtualmente a qualsiasi tag.

Esiste poi il classico tag link che si comporta come il tag a nell’html.

Ad esempio, è possible scrivere

<para>questo è un paragrafo con un <link xlink:href="http://www.google.com">link</link> esterno</para>

ma anche

<title xlink:href="http://www.google.com">Questo è un titolo con link</title>

senza dover racchiudere il titolo in un tag link (a).
Inoltre, il namespace si spinge più avanti e non “condivide” solo l’attributo href ma anche altri come title e type.
http://www.docbook.org/tdg5/en.....attributes

# - postato da Simone Carletti - 26 Luglio 2008 - 16:10

14

Anche se “una funzione - un oggetto” mi pare una linea guida molto utile e sensata, credo che preferirei vedere adottata la proposta di Meyer.

Di fatto, un collegamento (soprattutto su un tag diverso da A) per me non è tanto “una funzione”, quanto “un attributo”.
L’immagine ha la funzione di veicolare un contenuto visivo, il titolo ci dice di cosa tratta il paragrafo, ecc. queste sono le loro funzioni. Se in più hanno un link, mi andrebbe bene “linkare” direttamente da quei tag.

Poi l’A lo userei per i casi in cui la funzione PREVALENTE è il link: le voci di un menu ecc.

Capisco però i puristi. Ha un senso tenere separate le funzioni dei tag. Semplicemente la funzione link nel web (proprio per il funzionamento del web) può essere considerata un po’ una “metafunzione” e quindi tendo a vederla in un modo un po’ diverso dalle altre. Ed è innegabile che infarcire il codice di “A” è un po’ ‘na rogna che molti vorrebbero sfoltire…

# - postato da pbattino - 28 Luglio 2008 - 10:15

15

A me sembra un’ottima idea.
(era venuta in mente anche a me, non per niente, eh… :)

# - postato da Giacomo - 06 Agosto 2008 - 10:49

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento