2009-05-01 8 views
2

Gibt es eine Möglichkeit, die Pop-up-Titel auf Links zu unterdrücken und sie trotzdem auf der Seite für Sehbehinderte zu behalten?Link-Titel unterdrücken

Antwort

4

Das ist eine Funktion des Browsers, um den Link-Titel zu interpretieren und einen Tooltip/Popup anzuzeigen. Es gibt keine Möglichkeit, sie zu unterdrücken. Ich versuchte es (weil ein Kunde sie auch nicht mochte) und es gibt keinen Weg um sie herum.

+1

Firefox hat kein Tool-Tipp für Links, es sei denn, sie haben ein Titelattribut deklariert. –

+0

Stellt sich nicht die Frage, wie Sie das title-Attribut behalten und die Tooltips ausblenden können? Ich kenne keinen Browser, der Tooltipps zu Links ohne Titelattribute anzeigt. Was würde der Tooltip sagen? – Calvin

+0

Vermutlich könnte der Tool-Tipp die URL des Links sein. –

-1

Links in meinem Browser zeigen keine Tool-Tipps wie diese, es sei denn, sie haben ein title Attribut.

Wenn Sie möchten, können Sie Greasemonkey verwenden, um dieses Bit von Javascript auf jeder Seite auszuführen, um sie zu entfernen.

var anchorTags; 
anchorTags = document.getElementsByTagName("a"); 
for(var i = 0; i < anchorTags.length; i++) { 
    anchorTags[i].removeAttribute("title"); 
} 
+1

Ich habe den Eindruck, dass er versucht, sie für andere Leute auf seiner eigenen/Arbeit/Firmenseite zu entfernen, anstatt persönlich durch ihre Anwesenheit beleidigt zu sein. Ich verstehe nicht warum. Das ist nur mein erster Eindruck. –

+1

Nun, in diesem Fall, vermeiden Sie einfach Titelattribute auf Ihre Anker. –

+1

Ich neige dazu, diesem Vorschlag zuzustimmen, obwohl er Dinge in Bezug auf die Zugänglichkeit vielleicht komplizierter macht. –

0

... es wäre vielleicht nicht ideal, aber man konnte immer versuchen, anstelle eines title Attribut im <a href>, eine <span> innerhalb der <a> tags:

/* screen.css */ 

a { } 

a span.titleText { 
    display: none; 
    position: absolute; 
    bottom: 1.2em; 
    left: 0; 
} 

a:hover span.titleText, 
a:active span.titleText, 
a:focus span.titleText { 
    display: block; 
} 

/* audio.css */ 

a span { 
    display: inline; /* or whatever the relevant attribute would 
         be in an audio stylesheet. */ 
} 
<head> 
    <link href="screen.css" type="text/css" rel="stylesheet" media="screen" /> 
    <link href="audio.css" type="text/css" rel="stylesheet" media="screen-reader, audio" /> 
</head> 

<a href="http://some.url.com"> 
    <span class="titleText">This is the title</span>This is the link 
</a> 

Ich empfehle es jedoch nicht als eine besonders praktische Lösung. Und ich bin ziemlich sicher, dass es nicht validieren würde. Wenn ich JS wüsste, würde ich etwas praktikabler vorschlagen, aber selbst dann bin ich nicht überzeugt, dass es funktionieren würde.

3

Ich weiß, das gelöst wurde, aber ich fand auch diese Abhilfe: Hide native tooltip using jQuery

+0

Nur Link-Antworten können vermieden werden. –

+0

So können Kommentare zu 5-jährigen Antworten. –

0

Das in jQuery funktioniert.

var val; 
$('[YOUR_SELECTOR]').hover(function() { 
    val = $(this).attr('title'); 
    $(this).removeAttr('title'); 
    },function() { 
    $(this).attr('title',val); 
}) 
1

Ich hatte dieses Problem mit einem Projekt, bei dem der Kunde seinen eigenen Tooltip wollte angezeigt werden (die mit CSS gemacht wurde), aber es wurde auch auch wegen der Browser-initiierten Tooltip zeigt, so zweimal es zeigte. Wir umgehen dies, indem wir das Attribut 'title' entfernen und stattdessen 'data' verwenden, um den Text im CSS zu füllen.

Ich bin mir nicht sicher, was Sie meinen, wenn Sie sie auf der Seite für Sehbehinderte halten, da sie nur im Quellcode sichtbar sind?

Zum Beispiel:

<a href="link" title="something">Link title here</a>

würde den Link ‚Link-Titel hier‘ zeigen auf der Seite sowie die lästige Popup, wenn Sie darauf schweben.

<a href="link" data="something">Link title here</a>

würde den Link ‚Link-Titel hier‘ zeigen würde aber zeigen nicht die lästigen Popup auf Schweben, obwohl Sie immer noch die data Tag verwenden kann zu verweisen, was Sie dort setzen wollen (in unserem Fall, wir Setzen Sie den Text für den Tooltip, auf den sich das CSS beziehen soll).

Offensichtlich, wenn Sie den title-Tag vollständig entfernen, ist das Problem gelöst, aber Sie sagten, dass Sie es dort behalten mussten, so ist dies meine Problemumgehung wie zuvor.