Dinoer

Pourquoi une capture ne suffit pas

Trois choses qu'une image cache, une limite que le texte ne résout pas non plus, et pourquoi Dinoer ne renvoie aucune image.

Une capture d’écran montre à quoi ressemble une page. Elle ne dit pas ce qu’est chaque élément, où mène un lien, ni ce que la page contient sans l’afficher. Dinoer ne produit aucune image, dans aucun mode, et lit ces informations sous forme de texte.

Un : ce qu’est un élément, et où il mène

Sur une capture, un lien et un bouton de même style se ressemblent, tout comme une commande désactivée et une commande active quand le graphisme emploie un gris pâle.

La page, elle, fait la différence : link "Learn more" /url: https://… donne le rôle et la destination avant tout clic. Regarder des pixels ne permet pas de le retrouver. L’arbre d’accessibilité →

Deux : ce qui est dans la page sans être affiché

Un <dialog> qui n’a pas été ouvert fait partie du document, et ses boutons existent dans le DOM. Un menu replié contient ses liens ; un onglet masqué, son contenu.

Lire du texte plutôt que des pixels ne règle pas ce problème. L’arbre d’accessibilité ne montre que ce qui est rendu : un <details> ou un <dialog> fermé y apparaît sans son contenu, comme une capture n’en montrerait rien. Pour voir ce que contient le document, lisez le DOM avec evaluer (document.querySelectorAll(…)), comme le fait le scénario de relevé.

Trois : la cible est-elle toujours la cible

Une capture est un instant. Entre cet instant et l’action, un bandeau peut se fermer, une boîte de dialogue s’ouvrir, une liste s’allonger. Tout ce qui est repéré par sa position à cet instant s’est déplacé : c’est ainsi, le plus souvent, qu’un clic automatisé tombe sur le mauvais élément tout en annonçant un succès.

Dinoer désigne chaque élément par un sélecteur CSS, jamais par une position sur une image. Un sélecteur peut encore viser un autre élément après une modification du DOM, mais l’échec lié à la position disparaît.

Alors, qu’y a-t-il à regarder

Rien.

Si vous avez besoin de voir la page comme une personne la voit, ouvrez-la dans un navigateur. Dinoer renvoie du texte fait pour décider quoi lire ou quoi faire ensuite, pas quelque chose à regarder.

En bref

  • Les rôles et les destinations n’ont pas de forme visible : c’est la principale raison de lire la structure plutôt que des pixels.
  • Présent dans le document ne veut pas dire affiché, en texte comme en image ; lisez le DOM quand cela compte.
  • Un sélecteur désigne un élément, pas une position.
  • Il n’y a pas d’image, ni pour le modèle ni pour vous.