5.1.1.

28 mayo 2005

Yahoo Mindset. Pequeño destripamiento.

Categoría

Si necesitan saber qué es Yahoo Mindset pueden leer Yahoo! Mindset en ALT1040.

Primero y principal: Yahoo Mindset no es AJAX. No he visto a nadie que lo afirme pero recuerdo que alguien se lo preguntaba. Yahoo Mindset está basado en un simple script que reordena los elementos que contienen los resultados. Si desactivan CSS verán la lista completa de los primeros 100 resultados. Es más, fíjense que cada resultado está acompañado de un número entre paréntesis; número que en la primer página jamás supera el 100.

El código HTML es sencillamente un despelote sin pies ni cabeza. Mucho DIV donde lo mejor sería P, B en lugar de STRONG, atributos style y para asustar a quien intente ver el código, IRIs kilométricas por culpa del redireccionador. Fuera de todo eso que quizás tenga alguna razón de ser, lo que más me sorprendió fueron los LI de cada resultado: <li id="res_1" score="0.034598" rank="1" class="hideres">. El class="hideres" se repite en cada LI. Alguien tendría que explicarles que como no tienen LI anidados, bien podrían haberle puesto un id a OL e incluir en la hoja de estilos ol#resultados li y ahorrarse algunos bytes. Fuera de eso, me llama la atención los dos nuevos atributos inventados: score y rank. rank en particular me llama la atención porque bien podrían haber parseado el atributo id para obtener el número —fíjense que el número en rank es igual al de id, a menos que en algún momento lo estén cambiando mediante Javascript. score acepta valores (numéricos) tanto positivos como negativos, por lo que asumo que es la forma que eligieron para diferenciar los resultados entre shopping y researching —una prueba muy básica revela que los valores negativos se refieren a researching. Me pregunto si tener que parsear el score de cada resultado es más práctico que tener un array con cada valor. Expertos en Javascript sabrán.

Cuestiones básicas de accesibilidad… Si el navegador no soporta Javascript no funciona. O mejor dicho, ¡no se ve nada! A pesar de que en el código fuente aparece claramente la lista de resultados, nada de ésto aparece en pantalla. Parece que en su afán de disimular los 90 resultados extras, de entrada los ocultan a todos. El problema (o grave error) es que primero ocultan todo mediante CSS y recién después los hacen reaparecer mediante Javascript. ¿Para qué usar dos herramientas cuando con una sola alcanzaba? Sólo ellos saben. Si quieren ver el agujero, simplemente agreguen:

<style>
* {visibility:visible !important;overflow: visible !important;}
</style>

Espero que Yahoo se ponga las pilas luego de MSN Search demostrará que se puede escribir código válido.

Powered by Blogger