Newsgroup: it.comp.www.html
Titolo: accesskey su <a>

Ciao a tutti,
piccola richiesta d'aiuto, o piccola richiesta di conferma che IE non ce 
la fà.
Allora, ho due link ai quali ho applicato il tag accesskey in questo 
modo (la pagina mi risulta valida xhtml 1.0 strict secondo 
www.htmlhelp.com
):
<a title="Alt+- indietro" onfocus="this.blur();" accesskey="-" 
href="javascript:;" onclick="this.blur();cambia('indietro');"></a>
<a title="Alt++ avanti" onfocus="this.blur();" accesskey="+" 
href="javascript:;" onclick="this.blur();cambia('avanti')"></a>
Il fatto è che che gli accesskey funzionano con mozilla, ma non con IE 
(intendo questi in particolare, perché nella stessa pagina ne ho altri 
su elementi di tipo <input> che funzionano correttamente su entrambi i 
browser).
Esiste un modo per farglielo capire anche ad IE (eventualmente anche 
perdendo la validità?).
Ho già fatto alcune infruttuose prove.
Grazie per le risposte

 Ho già fatto alcune infruttuose prove.
Ok, come al solito non mi sono perso d'animo e ho cercato, chi fosse 
interessato prosegua la lettura.
Ho trovato che il comportamento di IE con l'attributo accesskey è quello 
di limitarsi a dare il focus all'elemento. Nel caso di un <input 
type="radio" /> nessun problema, l'elemento riceve il focus e quindi 
viene selezionato, mentre nel caso del tag <a> il problema è che IE si 
aspetta la pressione di INVIO dopo aver attivato la 'scorciatoia' 
implementata tramite l'attributo 'accesskey'. Questo potrebbe essere 
quello che ci si aspetta, ma non è il comportamento previsto dallo 
standard (fonte 
http://www.cs.tut.fi/~jkorpela/forms/accesskey.html
)
Ma chi vuole invece fare come vorrei fare io, ovvero fare in modo che si 
segua un link direttamente?
Io ho trovato questa soluzione, con un pò di javascript.
Si trasformano (oppure si aggiungono, se è necessario comunque il link 
su un'area, come nel mio caso, o su un testo) i link in elementi di tipo 
intput, a a questi si setta l'attributo accesskey (rimuovendolo dal tag 
<a>, se necessario). A questo punto tramite il l'attributo onclick 
(forse meglio onfocus?) si fa eseguire un codice javascript che fa il 
'lavoro sporco' (nel mio caso una chiamata a funzione che cambia il link).
Rimane il problema che questi nuovi <input> sono visualizzati, quindi 
antiestetici, mentre sarebbe desiderabile non fossero visibili. Non è 
possibile settare la 'visibility:hidden' ne il 'display:none' (non 
funziona più la scorciatoia). Per il momento li sposto. Forse mettendoli 
in un div di 0x0 pixel con l'overflow:hidden .... vabbé ma questo è un 
altro problema.
So che ho fatto una gran confusione, ma spero che a qualcuno possa 
questa confusione possa tornare utile
PS: nel mio caso particolare ho riscontrato che IE non accetta '+' e '-' 
come valori dell'attributo accesskey, e quindi ho dovuto sostituirli con 
delle lettere.
Ciao, Magilla

 
Proseguo il monologo per dire che questa soluzione funziona.
Ciao

Magilla il Gorilla Lilla, in data 25/03/2004 10.31, ha occupato banda 
con questi byte:

Gli accesskey sono attributi non tag. Detto questo, dico che l'accesskey 
e' un attributo particolare che presenta delle anomalie su tutti gli 
UserAgent a causa del diverso funzionamento che hanno determinate 
sequenze di tasti in questi software. Ne consegue che e' preferibile 
utilizzare i numeri e non le lettere, proprio per evitare effetti 
indesiderati (apertura della finestra "Salva con nome...", piuttosto che 
la pagina "Speciale" se si fosse utilizzata la lettere "S"). E' comunque 
buona norma, aggiungere una pagina o un trafiletto in cui si descrivono 
le sezioni a cui indirizzano i tasti di accesso. Un'altra soluzione 
sarebbe quella di inserire dei tabindex.
-- 
Spirito Libero
Siamo tutti un po' abusivi a questo mondo...
(Non mettere il sale se vuoi rispondermi!)

 sarebbe quella di inserire dei tabindex.
Soluzione a cosa?
Scusa ma non vedo soluzioni in ciò che mi hai scritto, relativemante al 
problema che ho sollevato.
Bhò, grazie dell' aiuto.
Ciao

 Ciao
Ho visto che il tuo problema e' un altro. Considera quello che ti ho 
scritto come un consiglio in piu'.


 scritto come un consiglio in piu'.
Ti ri-ringrazio, ho già risolto.

 
Con IE soltanto, pero', e questo per esperienza personale.


 
Non ho fatto test. Ma se un browser si comporta come dici tu è da 
ritenersi mal fatto: che senso avrebbe per lui implementare l'accesskey 
se poi non lo onorasse? Senza contare che poi ogni localizzazione del 
browser avrebbe scorciatoie da tastiera diverse (es. 'Aiuto' e 'Help' 
sarebbero alt+a e alt+h).
Ciao