Подавить заголовки ссылок

Есть ли способ подавить всплывающие заголовки на ссылках, но при этом оставить их на странице для слабовидящих?


person Sampson    schedule 01.05.2009    source источник


Ответы (6)


Это функция браузера для интерпретации заголовка ссылки и отображения всплывающей подсказки / всплывающего окна. Их невозможно подавить. Я пробовал (потому что они тоже не нравились клиенту), и выхода нет.

person Keltex    schedule 01.05.2009
comment
В Firefox нет всплывающих подсказок для ссылок, если для них не объявлен атрибут title. - person Ben S; 01.05.2009
comment
Разве не возникает вопрос, как сохранить атрибут title, скрывая всплывающие подсказки? Я не знаю ни одного браузера, который показывает всплывающие подсказки по ссылкам без атрибутов заголовка. Что будет во всплывающей подсказке? - person Calvin; 01.05.2009
comment
Предположительно всплывающая подсказка может быть URL-адресом ссылки. - person Ben S; 01.05.2009
comment
Я думаю, что это правда в Opera ›9.x (последняя попытка) @ Ben S. - person David says reinstate Monica; 01.05.2009
comment
Это не работает в Opera 9.64 (последняя версия). URL-адреса отображаются только в строке состояния, как в FF3 и IE. Если вы видите URL-адрес как всплывающую подсказку, это потому, что ссылка имеет URL-адрес в качестве атрибута заголовка. - person Calvin; 01.05.2009
comment
пробовали ли вы эту stackoverflow.com / questions / 9927640 /? - person Adrien Be; 05.09.2014

Я знаю, что проблема решена, но я также нашел обходной путь: Скрыть встроенную всплывающую подсказку с помощью jQuery

person Phill Pafford    schedule 19.08.2009
comment
Ссылки только на ответы можно избежать. - person Nishanthi Grashia; 15.07.2014
comment
Так что можете комментировать ответы 5-летней давности. - person Jason S; 22.12.2015

У меня была эта проблема с проектом, в котором клиент хотел отобразить свою собственную всплывающую подсказку (что было сделано с помощью CSS), но она также отображалась из-за всплывающей подсказки, инициированной браузером, поэтому она отображалась дважды. Мы обошли это, удалив атрибут «title» и вместо этого используя «data» для заполнения текста в CSS.

Я не уверен, что вы имеете в виду, говоря о том, что оставляете их на странице для слабовидящих, поскольку они видны только в исходном коде?

Например:

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

будет отображать ссылку «Заголовок ссылки здесь» на странице, а также раздражающее всплывающее окно, когда вы наводите на нее курсор.

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

будет отображать ссылку «Заголовок ссылки здесь», но НЕ будет отображать раздражающее всплывающее окно при наведении курсора, хотя вы все равно можете использовать тег data для ссылки на все, что вы хотите поместить туда (в нашем случае мы помещаем текст для всплывающей подсказки для CSS ссылаясь на).

Очевидно, что если вы полностью удалите тег заголовка, проблема будет решена, но вы сказали, что вам нужно оставить его там, так что это мой обходной путь, который использовался раньше.

person Lyall    schedule 22.07.2015

Это работает в jQuery.

var val;
$('[YOUR_SELECTOR]').hover(function() {
    val = $(this).attr('title');
    $(this).removeAttr('title');
  },function() {
    $(this).attr('title',val);
})
person Andrew Phillips    schedule 20.01.2013

... возможно, это было бы не идеально, но вы всегда можете попробовать вместо атрибута title в <a href> <span> в тегах <a>:

/* 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>

Однако я не предлагаю это как практическое решение. И я совершенно уверен, что это не подтвердится. Если бы я знал JS, я бы предложил что-нибудь более работоспособное, но даже тогда я не уверен, что это сработает.

person David says reinstate Monica    schedule 01.05.2009

Ссылки в моем браузере не показывают подобных подсказок, если у них нет атрибута title.

Если хотите, вы можете использовать Greasemonkey для запуска этого фрагмента javascript. на каждой странице, чтобы удалить их.

var anchorTags;
anchorTags = document.getElementsByTagName("a");
for(var i = 0; i < anchorTags.length; i++) {
  anchorTags[i].removeAttribute("title");
}
person Ben S    schedule 01.05.2009
comment
У меня сложилось впечатление, что он пытается удалить их для других людей на своем / рабочем / корпоративном сайте, вместо того, чтобы лично обижаться на их присутствие. Я не понимаю почему, ум; это только мое первое впечатление. - person David says reinstate Monica; 01.05.2009
comment
Что ж, в таком случае просто не помещайте атрибуты заголовка в свои якоря. - person Ben S; 01.05.2009
comment
Я склонен согласиться с этим предложением, хотя, возможно, это действительно усложняет ситуацию с точки зрения доступности. - person David says reinstate Monica; 01.05.2009