2008-11-02 6 views
2

Je suis malchanceux d'être en charge de la maintenance de certains anciens Yahoo! Magasin construit en utilisant leur plate-forme RTML. Récemment, j'ai remarqué que le code HTML généré par certaines fonctions RTML est recouvert de "padding images" (ou tout ce qui est le nom conventionnel pour les images 1x1 pixels utilisées pour appliquer la mise en page). Je n'ai rien contre l'utilisation de ces images, mais ... toutes ces images sont fournies avec un attribut ALT comme ceci:Comment se débarrasser des étiquettes «pad» stupides produites par les fonctions RTML?

<img href="http://.../image1x1.gif" alt="pad"> 

Avec tout le respect dû aux auteurs originaux de RTML, mais ils doivent avoir été fumer quelque chose quand ils sont venus avec cette « amélioration de l'accessibilité » ... :-(

Quoi qu'il en soit, voici mes questions:

  1. Quelqu'un sait-il une liste de toutes les fonctions RTML qui génèrent HTML avec tous ces « pad "images?

  2. Y at-il un moyen de se débarrasser de tous ces alt = "pad" attributs sans réécrire beaucoup de code RTML?

NB: Cela peut sembler un peu cynique, mais l'amélioration de l'accessibilité est pas le but principal ici. L'objectif principal est d'arrêter d'exposer ces attributs alt = "pad" à Google et autres moteurs de recherche intelligents. Donc, les scripts côté client ne vont pas aider, autant que je sache.

Merci!


P.S. Probablement, la plupart d'entre vous sont vraiment chanceux et n'ont jamais entendu parler de RTML. Parce que si quelqu'un établirait un prix pour les produits logiciels basés sur

commercial success 
------------------ 
    usability 

rapport, ce serait probablement gagner « plate-forme » à base RTML premier lieu.


P.P.S. Apparemment, quelqu'un de Yahoo! J'ai finalement écouté, car je ne trouve plus ces étiquettes "pad" idiotes dans le RTML généré pour notre boutique. Néanmoins, l'une des idées proposées en réponse à ma question initiale fournit une solution très pratique - pas seulement pour le problème original mais pour tout problème similaire avec la plateforme RTML. Voir la réponse gagnante - c'est vraiment bon.

Répondre

1

Bien essayé par les autres affiches, mais il y a une commande RTML très simple qui va le faire. . .

 
TEXT PAT-SUBST s GRAB 
        MULTI 
         HEAD 
         BODY 
         TEXT @var-with-alt-tag-equals-pad-in-it 
       frompat "alt=\"pad\"" 
       topat "" 

ci-dessus RTML trouverez toutes les instances de alt = "pad" et le remplacer par rien.

+0

Je ne sais pas exactement comment je suis censé utiliser cette astuce ... – Yarik

+0

@Yarik vous auriez besoin d'aller dans votre modèle (peut-être votre copie de storetemplate, si c'est ce que vous utilisez), couper le modèle entier, et le placer à l'intérieur du MULTI ci-dessus (en supprimant les autres choses qui est actuellement là). Cette commande recherchera alors toutes les instances de alt = "pad" dans le site et le remplacera par rien. – bmarti44

+0

Ah, je vois maintenant. Bonne idée, et ça marche! – Yarik

1

Eh bien, vous avez raison sur RTML étant relativement untraveled :)

Avez-vous un moyen d'ajouter vos propres attributs à ces balises images? Si oui, serait-il possible de surcharger l'attribut alt? Si vous spécifiez alt = "", je pense que cela surchargerait Yahoo ... Sinon, pensez à mettre une balise alt utile là-bas pour les types aveugle et dial-up.

+0

Eh bien, si je connaissais la façon de contrôler ces balises, je ne poseriez pas cette question! ;-) – Yarik

1

C'est la première fois que j'entends parler de cette plate-forme, mais voici une idée: si vous pouvez ajouter du javascript aux pages, vous pouvez écrire une fonction qui fonctionnera après le chargement de la page. "pad" attributs de la page.

Malheureusement, cette solution ne fonctionne qu'avec les navigateurs qui connaissent les scripts, de sorte que lynx ou d'autres navigateurs basés sur le texte peuvent ne pas le supporter.

+0

En fait, améliorer l'accessibilité n'est pas l'objectif principal. L'objectif principal est de cesser d'exposer ces attributs ALT stupides à Google et autres moteurs de recherche intelligents. Autant que je sache, Google ignore tous les scripts lors de l'indexation des pages, de sorte que les scripts ne vont pas aider. – Yarik

3

La seule façon que je vois est d'avoir votre propre front-end de site Web qui filtrera ce que vous voulez à partir du site RTML ....

par exemple, votre site est à RTML http://rtmlusglysite.yahoo.com/store/XYZ01134, vous pouvez héberger un simple, frontal PHP à l'adresse http :: //www.example.com ce serait agir comme un « filtrage » proxy web HTTP, donc http://rtmlusglysite.yahoo.com/store/XYZ01134/item1234.rtml serait accessible par http://www.example.com/item1234.html

ce n'est pas une solution idéale, mais il devrait fonctionner , et vous pourriez faire quelques trucs plus sophistiqués.

+0

une telle solution est très difficile à justifier dans notre cas, mais ... je dois avouer que c'est le meilleur coup jusqu'ici! – Yarik

Questions connexes