Можно ли скрыть заголовок href? - PullRequest
21 голосов
/ 24 августа 2009
<a href="link.html" title="Titletext">

... это код.

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

Есть идеи?

Ответы [ 16 ]

18 голосов
/ 24 августа 2009

Как насчет хорошего простого:

<a href="link.html" title="Titletext"><span title=" ">text</span></a>

(Лучше, поместите что-нибудь действительно полезное в вложенный заголовок.)

17 голосов
/ 24 августа 2009

Предположим, что вы используете тег image в теге a, вы можете просто использовать альтернативный заголовок для изображения (даже пробел), и он будет перезаписывать заголовок ссылки, когда вы наводите курсор на него.

9 голосов
/ 13 января 2011

Это действительно легко с jQuery

$("li.menu-item > a").attr('title', '');

Это удалит заголовок из любого элемента меню класса li - конечно, вы можете придумать, чтобы они просто прятались при наведении мыши на:)

7 голосов
/ 18 июня 2010

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

  1. Программы чтения с экрана и пользователи с нарушениями зрения полагаются на атрибуты заголовка, которые читаются вслух. Я полагаю, что это было первоначальной целью и причиной для них в тегах привязки и является важным аспектом Раздела 508 о доступности веб-сайта правительства США. Я думаю, что программа чтения с экрана в этом случае прочитала бы все названия; первый, а затем второй, который может быть очень запутанным для слабовидящих пользователей. Они не поняли бы, почему они слышат два esp, если он содержит другой текст. Это два разных якоря, о которых они слышат? Если так, то почему они не могут щелкнуть или выбрать другую, которую они слышат, и продолжают получать только одну веб-страницу (как сценарий).

  2. Если вы разместите дополнительный текст в заголовке Google, и многие другие поисковые системы могут рассматривать это действие как «черная шляпа сео» и могут привести к тому, что ваш сайт будет заблокирован из этого списка поисковых систем (иначе говоря, начинка), это произошло с BMW в германии уже гугл.

Лично я бы подумал, что лучший способ - сохранить атрибут title, как он должен был функционировать, а затем использовать Javascript или css, чтобы каким-то образом его скрыть. Эти методы не повлияют на программы чтения с экрана, сканеры веб-страниц и пользователей с нарушениями зрения.

3 голосов
/ 29 января 2011

Мне стало интересно с jquery ...;) Мне нужно было это для портфолио: теги заголовка для лайтбокса, но ни один при наведении курсора мыши. Это сработало для меня, спасибо за подсказку!

$(function(){
    $("li.menu-item > a").hover(function(){
        $(this).stop().attr('title', '');},
        function(){$(this).stop().attr();
        });
});
2 голосов
/ 24 августа 2009
// Suppress tooltip display for links that have the classname 'suppress'

var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
    if (links[i].className == 'suppress') {
        links[i]._title = links[i].title;
        links[i].onmouseover = function() {
             this.title = '';
        }
        links[i].onmouseout = function() {
             this.title = this._title;
        }
    }}

Процитирую ответ Арона Роттвила от первого дурака, связанного в моем комментарии к вопросу ( Отключение подсказок браузера по ссылкам и s )

1 голос
/ 05 декабря 2011

самый простой способ будет:

после использования вашего Slimbox, добавьте следующий код под ним:

$('*[title]').removeAttr('title');

надеюсь, что это может помочь ..

1 голос
/ 24 августа 2009

Вам не нужно использовать атрибут title с Slimbox. Смотрите пример нескольких изображений в верхней части этой страницы: http://code.google.com/p/slimbox/wiki/MooToolsAPI.

Вы можете просто удалить атрибут title из привязки и передать текст title (описание вашего изображения) в функцию Slimbox open, которую вы будете вызывать, используя событие onclick привязки.

0 голосов
/ 13 февраля 2015

Как читается в другом вопросе, я предлагаю поменять атрибут title на какой-нибудь data-title, чтобы он был доступен для программ чтения с экрана для пользователей с ограниченными возможностями. Как сказал Локин, поддержание юзабилити сайта для пользователей с ограниченными возможностями и инвалидов должно также вызывать беспокойство при разработке.

0 голосов
/ 11 декабря 2013

Это мое решение jQuery, оно делает все необходимое и сохраняет правильное использование атрибута title. Просто измените селектор в соответствии с вашими потребностями.

/*
 * jQuery remove title browser tooltip
 */
var removeTitleSelector = 'a.removeTitle';
jQuery('body').on('mouseover', removeTitleSelector, function () {
    jQuery(this).data('title', jQuery(this).attr('title'));
    jQuery(this).removeAttr('title');
}).on('mouseout', removeTitleSelector, function () {
    jQuery(this).attr('title', jQuery(this).data('title'));
});
...