¿Es posible ocultar el título href?

 

… es el código.

Necesito usar el atributo title debido a slimbox , pero quiero ocultar el texto del título que aparece al pasar el mouse sobre el enlace.

¿Algunas ideas?

Supongamos que está usando una etiqueta de imagen en la etiqueta a, solo puede usar un título alternativo para la imagen (incluso un espacio) y eso sobrescribirá el título del enlace cuando lo pase por encima.

¿Qué tal un buen simple:

 text 

(Mejor, pon algo realmente útil en el título nested).

Esto es realmente fácil con jQuery

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

Esto eliminará el título de cualquier elemento del menú de la clase li; por supuesto, puede hacerse elegante para que se escondan con el mouse sobre 🙂

En lo que respecta a la sugerencia de “qué tal una sugerencia sencilla” que he visto en varios sitios, personalmente no sugiero esto por dos motivos.

  1. Los lectores de pantalla y los usuarios con discapacidad visual confían en los atributos del título que se leen en voz alta. Creo que este fue el propósito inicial y la razón para ellos en las tags de anclaje y es un gran aspecto de la Sección 508 de Accesibilidad web de los EE. UU.. Creo que un lector de pantalla en esta instancia leería todos los títulos; el primero y luego el segundo que podría ser muy confuso para el usuario con discapacidad visual. No entenderían por qué están oyendo dos esp si tiene un texto diferente. ¿Están hablando de dos anclajes diferentes? Si es así, ¿por qué no pueden hacer clic o seleccionar el otro que escuchan y obtener una sola página web (como escenario)?

  2. Si coloca texto adicional en el título de Google y muchos otros motores de búsqueda pueden ver esta acción como black hat seo y podría llevar a su sitio a ser excluido de esa lista de motores de búsqueda (también conocido como relleno), esto le sucedió a BMW en Alemania por Google.

Personalmente, creo que el mejor método es mantener el atributo de título como estaba destinado a funcionar y luego usar Javascript o CSS para ocultarlo de alguna manera. Estos métodos no tendrían ningún impacto en los lectores de pantalla, los rastreadores web y los usuarios con discapacidad visual.

Me encandiló con jquery …;) Necesitaba esto para una cartera: tags de título para una caja de luz pero ninguna sobre el mouse. Esto funcionó para mí, ¡gracias por la pista!

 $(function(){ $("li.menu-item > a").hover(function(){ $(this).stop().attr('title', '');}, function(){$(this).stop().attr(); }); }); 
 // 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; } }} 

Para citar la respuesta de Aron Rotteveel del primer engañado vinculado en mi comentario a la pregunta ( Deshabilitar información sobre herramientas del navegador en enlaces y s )

No tiene que usar el atributo de title con Slimbox. Consulte el ejemplo de Imágenes múltiples cerca de la parte superior de esta página: http://code.google.com/p/slimbox/wiki/MooToolsAPI .

Simplemente puede eliminar el atributo de title de su ancla, y pasar el texto del title (la descripción de su imagen) a la función de open Slimbox, que llamaría mediante el evento onclick de su ancla.

la manera más fácil sería:

después de usar su Slimbox, agregue el siguiente código debajo de él:

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

Espero que pueda ayudar …

Sin garantías, pero dependiendo de cómo funcione Slimbox, es posible que pueda incluir el título y luego usar algo como jQuery para eliminarlo unos segundos después de la carga de la página. Suponiendo que Slimbox indexe el atributo Título y lo almacene en algún lugar después de leerlo, es posible que pueda eliminarlo de forma segura después de que esto suceda.

¿Anular / superponerlo con una información sobre herramientas de jQuery vacía?

si está usando jquery, podría hacer lo siguiente

 $("a").mouseover(function(e){ preventdefault();} ); 

(no lo han probado)

¿No podría simplemente recorrer los enlaces en el DOM y establecer el atributo de título en una cadena vacía?

 var DOMlinks = document.links; for(i=0;i 

Solución jQuery: esto debería ser sencillo:

 var hiddenTitle; //holds the title of the hovered object $("li.menu-item > a").hover(function() { hiddenTitle = $(this).attr('title'); //stores title $(this).attr('title',''); //removes title }, function() { $(this).attr('title',hiddenTitle); //restres title }); 

Usando la idea de David Thomas, puede crear una solución más elegante usando jQuery:

 $('[title]').each(function(){ $(this).data('original-title', $(this).attr('title')); }).hover( function () { $(this).attr('title','') }, function () { $(this).attr('title',$(this).data('original-title')) }); 

Esta es mi solución jQuery, hace todo lo que necesita y mantiene el uso correcto del atributo de título. Simplemente cambie el selector de acuerdo a sus necesidades.

 /* * 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')); }); 

Como leí en otra pregunta, sugiero cambiar el atributo “título” a algún “título de datos” para mantenerlo disponible para lectores de pantalla para usuarios discapacitados. Como dijo Lokin, mantener el uso del sitio para los usuarios con problemas o discapacitados también debería ser motivo de preocupación cuando se desarrollan.