Non voglio ripetere nuovamente il testo alt nel titolo? questo è possibile con qualsiasi soluzione javascript, jquery, css? o qualsiasi soluzione che può disabilitare per mostrare alt = text e abilitare title = texr e come tooltip?C'è un modo per mostrare alt = "text" come tooltip di mouseover in firefox come IE fa automaticamente?
risposta
alt
il testo è per una rappresentazione alternativa di un'immagine. Il testo title
è per suggerimenti.
Il comportamento di IE è errato in questo senso e Firefox non lo implementerà mai. (Il bug nel database Bugzilla è #25537, che si verifica WONTFIX.)
Non solo, ma anche Microsoft has admitted that their behavior is incorrect, e IE 8 non mostra alt
testo come i suggerimenti più!.
Quindi non fare affidamento sul testo alt
visualizzato come suggerimento. Utilizzare invece title
.
so ma non voglio ripetere nuovamente il testo alternativo come testo del titolo e voglio mostrare il tooltip al passaggio del mouse in entrambi i browser. –
@Jitendra: Non dovresti ripetere il testo 'alt' per il' titolo' in ogni caso. Il testo "alt" dovrebbe essere quello che vuoi che gli utenti vedano se ** non possono ** vedere l'immagine, mentre 'title' dovrebbe essere per suggerimenti. Se hai sia 'alt' che' title' definiti nel tuo HTML, IE userà 'title' come suggerimento. Quindi se vuoi un solo elemento per tutti i browser moderni, usa 'title', non' alt'! –
Il modo corretto per eseguire questa operazione è utilizzare l'attributo titolo.
ad es.
<div title="This is your tooltip">...content...</div>
L'attributo "alt" è progettato solo per fornire testo "alternativo" quando viene utilizzato un elemento di immagine (ma non disponibili per l'utente ... es vedenti o utenti con browser testuali etc.
hai appena detto che gli utenti non vedenti possono vedere l'immagine ma possono vedere il testo Alt specificato? : o –
@Rakesh Juyal: gli utenti non vedenti avranno un software di screen reader. I lettori di schermo possono leggere ** testo **, ma non immagini. –
@Daniel: gr8 non lo sapevo mai thanx +1 –
Come dice scunliffe, il modo giusto per farlo è nell'attributo title
. È meglio rispettare lo standard piuttosto che basarsi sul comportamento non standard di IE. Tieni presente che l'attributo title è per i tooltip per gli utenti che possono vedere l'immagine, il testo alternativo è per gli utenti che non possono (anche se possono vedere il titolo). Se questo ti infastidisce, puoi semplicemente usare javascript per impostare gli attributi del titolo sugli attributi alt per tutte le tue immagini, dandoti un effetto cross browser. : D
Qualcosa di simile a questo:
var images=document.getElementsByTagName("img");
for (var item in images) {
item.title = item.alt;
}
OR (stile DOM W3)
for (var item in images) {
item.setAttribute("title", item.getAttribute("alt"));
}
OR (jQuery)
$("img").each(function() { this.attr("title", this.attr("alt")); }
(non hanno ancora testato uno di questi , potrebbe essere necessaria una leggera modifica)
Riutilizzare il testo 'alt' per l'attributo' title' è una cattiva idea per l'accessibilità. Non c'è praticamente nessun caso in cui lo stesso testo sia appropriato per entrambi. –
Questo è stato uno dei miei primi punti da sottolineare quando ho scritto questa risposta, ma non ho potuto pensare ad un buon esempio. Potresti fornirne uno? : D –
nessuno di questi sta funzionando –
Si noti che l'utente può sopprimere le descrizioni comandi degli attributi title
in Firefox impostando il parametro di configurazione avanzata browser.chrome.toolbar_tips
su false
.
Ma non si ottiene alcun suggerimento, che non è quello che l'OP vuole. –
Questo script jQuery tooltip prenderà i contenuti del titolo e li visualizzerà in un suggerimento (compresa la formattazione HTML). Sebbene, non risolva il bug di IE di mostrare il testo alternativo, è possibile aggiungere alcuni script per cancellare l'attributo alt dopo che la pagina è stata caricata; ma come detto prima, questa è una cattiva idea in quanto non consentirà ai lettori di documenti di funzionare come progettato.
Non voglio rimuovere il testo alternativo dalla fonte. Voglio usare il testo del titolo come tooltip in tutti i browser –
risposta di Gordon era disponibile ma il motivo per il jQuery non ha funzionato è perché this
deve essere oggetto di un selettore jQuery in questo modo:
jQuery("img").each(function(){ jQuery(this).attr("title",jQuery(this).attr("alt") ) });
E mancava anche il )
per chiudere la funzione .each()
.
Questo è un bug di Internet Explorer per mostrare il testo alternativo come suggerimento. (Microsoft potrebbe chiamare questa funzione ma il testo alternativo deve essere mostrato solo quando l'immagine non può essere visualizzata.) – Gumbo