2010-04-03 5 views
0

Je voulais vérifier l'image du site entier <img> pour le texte alt. Je veux obtenir un rapport de, Ce qui est écrit en alt texte ou alt est défini ou non à partir de toutes les images utilisées sur le site entier dans chaque page.Comment générer un rapport pour un tag/attributs XHTML particulier?

Est-il possible d'obtenir un rapport comme celui-ci? après l'obtention du rapport, je vais mettre alt ou si alt est déjà ajouté mais vide, puis écrira le texte de description.

Sinon, dans un grand site, il faudra beaucoup de temps pour vérifier chaque page.

Le site est sur intranet et accessible avec nom d'utilisateur et mot de passe.

Répondre

0

Ce n'est pas une réponse directe, mais comme il semble que votre motivation est juste de savoir ici que img éléments ne sont pas des attributs alt, je voulais ajouter que pas tous les img éléments ont besoin attributs alt.

Le HTML5 spec mentionne que img éléments devraient avoir les attributs alt:

Quel élément img représente dépend de l'attribut src et l'attribut alt.

Si l'attribut src est défini et l'attribut alt est réglé sur la chaîne vide

  • L'image est un élément décoratif ou supplémentaire au reste du contenu, redondant avec d'autres informations le document.
  • Si l'image est disponible et que l'agent utilisateur est configuré pour afficher cette image, l'élément représente l'image spécifiée par l'attribut src.
  • Sinon, l'élément ne représente rien et peut être complètement omis du rendu. Les agents utilisateurs peuvent fournir à l'utilisateur une notification qu'une image est présente mais a été omise du rendu.

Si l'attribut src est défini et l'attribut alt est réglé sur une valeur qui ne soit pas vide

  • L'image est un élément clé du contenu; l'attribut alt donne un équivalent textuel ou un remplacement pour l'image.
  • Si l'image est disponible et que l'agent utilisateur est configuré pour afficher cette image, l'élément représente l'image spécifiée par l'attribut src.
  • Sinon, l'élément représente le texte donné par l'attribut alt. Les agents utilisateurs peuvent fournir à l'utilisateur une notification qu'une image est présente mais a été omise du rendu.

Si l'attribut src est défini et l'attribut alt n'est pas

  • L'image est peut-être un élément clé du contenu, et il n'y a pas d'équivalent textuel de l'image disponible.
  • Remarque: Dans un document conforme, l'absence de l'attribut alt indique que l'image est une partie clé du contenu mais qu'un remplacement textuel de l'image n'était pas disponible lors de la génération de l'image.
  • Si l'image est disponible, l'élément représente l'image spécifiée par l'attribut src.

Si l'attribut src est pas définie et soit l'attribut alt est réglé sur la chaîne vide ou l'attribut alt n'est pas réglé du tout

  • L'élément ne représente rien.

Sinon

  • L'élément représente le texte donné par l'attribut alt.
0

Si vous voulez faire avec Sélénium ce sera quelque chose comme ça

Dictionary<string,string> details = new Dictionary<string,string>(); 
int imgcount = selenium.GetXpathCount("//img"); 
for (i=0;i<10;i++){ 
    details.add(selenium.GetAttribute("//img[i]@src"),selenium.GetAttribute("//img[i]@alt")); 
} 

foreach (KeyValuePair<string, string> kvp in details) 
{ 
    Console.WriteLine("key " + kvp.Key); 
    Console.WriteLine("Value " + kvp.Value); 
} 

qui imprimera le src de l'image et le texte ALT.

+0

thnaks pour la réponse. Comment faire pour exécuter ce script sur l'ensemble du site en utilisant Selenium dans Firefox? –

0

En utilisant TestPlan je suis venu avec ce script rapide:

GotoURL http://stackoverflow.com/questions/2570421/how-to-generate-a-report-for-particular-xhtml-tag-attributes 

foreach %Image% in (response //img) 
    set %src% as combineCurrentURL (selectIn %Image% @src) 
    set %alt% as trim (selectIn %Image% @alt) 

    if numComp 0 = (length %alt%) 
     Notice %src% ALT IS EMPTY 
    else 
     Notice %src% : %alt% 
    end 
end 

La sortie ressemble ci-dessous (un rapport CSV peut également être généré si on le souhaite)

00000001-00 NOTICE http://sstatic.net/so/img/logo.png : Stack Overflow 
00000002-00 NOTICE http://ads.stackoverflow.com/ads/ladywhobig.jpg ALT IS EMPTY 
00000003-00 NOTICE http://sstatic.net/so/img/vote-arrow-up.png : vote up 
00000004-00 NOTICE http://sstatic.net/so/img/vote-arrow-down.png : vote down 

Cela fonctionne dans les deux HTMLUnit et Selenium backend à TestPlan.

Questions connexes