Quand une page contient trop
Une observation garde au plus 150 repères et 400 lignes d'arbre. Ce que le serveur garde d'abord, comment il signale ce qui se trouve sous un bandeau, et comment le modèle restreint une observation à la partie dont il a besoin.
Les plafonds, et l’ordre qui s’applique dessous
Une observation contient au plus 150 repères et 400 lignes d’arbre. Quand
une page en a davantage, marks_truncated ou tree_truncated vaut true, et le
serveur garde, dans cet ordre :
- ce qui appartient à une couche au-dessus de la page, avec tout ce qu’elle
contient : une boîte de dialogue, un nœud modal, ou un nœud fixe ou collant qui
peint par-dessus un contenu en vue, comme un bandeau de consentement, ou un
en-tête collant une fois que la page a défilé dessous. Ses lignes d’arbre
viennent en premier, sous une ligne
overlay "layer above the page"; - ce qui est en vue et non recouvert ;
- ce qui est en vue sous une couche, signalé
covered: true: la couche prendrait le clic, si bien qu’un clic dessus est refusé (element_obscured) ; - le reste, dans l’ordre du document.
Les repères gardés sont numérotés à partir de 1 dans l’ordre du document. Une page
sous les plafonds est lue en entier, sans covered ni ligne overlay.
Cet ordre existe à cause de l’endroit où se trouve un bandeau de consentement :
fixé au-dessus de la vue, mais tard dans le document. Gardé dans l’ordre du
document, il était coupé, et les boutons qu’il recouvrait étaient proposés au
modèle comme si un clic pouvait les atteindre. Sur une page d’essai de 643
éléments cliquables avec un bandeau fixé sur sa partie basse, les trois boutons du
bandeau sont désormais repérés et listés en premier, les éléments dessous
indiquent covered, et un clic sur Refuse par son repère fait disparaître le
bandeau.
Les couches se reconnaissent à partir du seul instantané, par l’ordre de peinture et les événements du pointeur, sans un appel par élément ; un conteneur fixe autour de toute la page n’est pas une couche. Les cas que cela ne tranche pas sont sur Limites.
Restreindre une observation
observe accepte deux paramètres facultatifs qui réduisent l’arbre et les
éléments avant l’application des plafonds. Aucun ne modifie la page ni l’image.
| Paramètre | Garde |
|---|---|
region | le sous-arbre d’une région de la page, et toutes les régions de ce nom : banner, navigation, main, contentinfo, complementary, form, search ou dialog |
contains | les lignes d’arbre qui portent un texte, comparé sans tenir compte de la casse, des accents ni des espaces en trop, avec leurs ancêtres et deux lignes de contexte de chaque côté |
Les deux se combinent. Les repères qui restent sont numérotés de nouveau à partir
de 1, pour cette seule observation, et counters gagne lines_before_filter,
lines_after_filter et, avec region, region_found, qui vaut false quand la
page n’a pas une telle région : un arbre vide, pas une erreur.
contains lit l’arbre après que les valeurs des champs sensibles ont été
retenues. Un texte qui n’est que la valeur d’un champ de mot de passe ne renvoie
rien, si bien que le paramètre ne peut pas servir à deviner un mot de passe.