Banc des éléments

Chaque cas d'épreuve du portillon, servi tel quel. Le tableau dit ce que la sonde attendait et ce qu'elle a mesuré ; le bouton ouvre la page réelle, celle-là même qui a été jugée. Un « aveugle » n'est pas un échec : c'est une page qui ne permet pas de conclure.

loader

7 cas · 7 conforme(s) à l'attente

sain

conforme

un voile dans le HTML servi, qui part seul et rend le défilement

preuveattendumesuré
couvre-au-premier-instant100 % de l’écran à 67 ms — div.socle-loader tenue tenue
remise-seuleremise à 848 ms, filet du studio retiré tenue tenue
remise-sous-la-barre0.8 s tenue
profondeur-tenuela fiche promet « 2d » et le rendu s’y tient (0 toile(s), aucun contexte 3d) tenue tenue
libere-le-defilementhtml et body défilent librement à 1499 ms tenue tenue
rien-derriereaucun élément ni classe nommés loader, voile ou verrou tenue
Ouvrir la page du cas ↗

absent

conforme

AUCUN loader. Tout ce qui juge un objet absent doit être AVEUGLE — c’est ici que la sonde rendait 3 preuves sur 5, et un site vide notait 9/9 ailleurs.

preuveattendumesuré
couvre-au-premier-instantaucune surface fixe et opaque couvrant plus de 60 % de l’écran, sur 10 relevés entre 68 et 622 ms rompue rompue
remise-seuleaucun loader à mesurer aveugle aveugle
remise-sous-la-barreaucun loader à mesurer aveugle
profondeur-tenueaucun loader à mesurer aveugle aveugle
libere-le-defilementaucun loader à mesurer aveugle aveugle
rien-derriereaucun loader à mesurer aveugle
Ouvrir la page du cas ↗

jamais

conforme

un voile qui ne part JAMAIS seul — et un faux filet du studio à 1 s. Si la sonde ampute bien le filet, elle doit voir le voile à 20 s. C’est le sabotage qui prouve que l’amputation mord.

preuveattendumesuré
couvre-au-premier-instant100 % de l’écran à 66 ms — div.socle-loader tenue tenue
remise-seulemain non rendue à 20000 ms — le voile couvre encore 100 % de l’écran (filet du studio retiré) rompue rompue
remise-sous-la-barrejamais rendue en 20000 ms rompue
profondeur-tenuela fiche promet « 2d » et le rendu s’y tient (0 toile(s), aucun contexte 3d) tenue
libere-le-defilementhtml et body défilent librement à 20629 ms tenue tenue
rien-derriere1 reste(s) : div.socle-loader rompue
Ouvrir la page du cas ↗

verrou

conforme

le voile part correctement et laisse son verrou de défilement. LE PIRE DES DEUX DÉFAUTS : le site est entièrement visible et on ne peut pas descendre d’une ligne. Le message doit nommer CE défaut, pas « un voile resté ».

preuveattendumesuré
couvre-au-premier-instant100 % de l’écran à 66 ms — div.socle-loader tenue tenue
remise-seulemain non rendue à 20000 ms — le voile est parti, mais overflow-y: hidden reste sur html et body (filet du studio retiré) rompue rompue
remise-sous-la-barrejamais rendue en 20000 ms rompue
profondeur-tenuela fiche promet « 2d » et le rendu s’y tient (0 toile(s), aucun contexte 3d) tenue
libere-le-defilementoverflow-y: hidden encore posé sur html et body à 20684 ms rompue rompue
rien-derriereaucun élément ni classe nommés loader, voile ou verrou tenue
Ouvrir la page du cas ↗

pseudo

conforme

le voile n’est QU’UN PSEUDO-ÉLÉMENT, en CSS pur — c’est ce qu’Oracle a livré. `querySelectorAll` ne l’atteint pas : l’ancienne sonde le déclarait ABSENT, donc un loader correct sortait rompu.

preuveattendumesuré
couvre-au-premier-instant100 % de l’écran à 68 ms — body::before tenue tenue
remise-seuleremise à 839 ms, filet du studio retiré tenue tenue
remise-sous-la-barre0.8 s tenue
profondeur-tenuela fiche promet « 2d » et le rendu s’y tient (0 toile(s), aucun contexte 3d) tenue
libere-le-defilementhtml et body défilent librement à 1432 ms tenue tenue
rien-derriereaucun élément ni classe nommés loader, voile ou verrou tenue
Ouvrir la page du cas ↗

volume

conforme

la fiche promet 3d et le voile porte une VRAIE toile WebGL.

preuveattendumesuré
couvre-au-premier-instant100 % de l’écran à 93 ms — div.socle-loader tenue tenue
remise-seuleremise à 845 ms, filet du studio retiré tenue
remise-sous-la-barre0.8 s tenue
profondeur-tenuela fiche promet « 3d » et le voile porte 1 toile(s) avec un contexte webgl2, vue à 440 ms tenue tenue
libere-le-defilementhtml et body défilent librement à 1460 ms tenue
rien-derriereaucun élément ni classe nommés loader, voile ou verrou tenue
Ouvrir la page du cas ↗

faux-volume

conforme

la fiche promet 3d et le voile est un DÉGRADÉ RADIAL qui y ressemble. Sans ce cas, la 7e preuve serait décorative : elle passerait sur tout ce qui a l’air profond.

preuveattendumesuré
couvre-au-premier-instant100 % de l’écran à 67 ms — div.socle-loader tenue tenue
remise-seuleremise à 730 ms, filet du studio retiré tenue
remise-sous-la-barre0.7 s tenue
profondeur-tenuela fiche promet « 3d » et le voile ne porte aucune toile rompue rompue
libere-le-defilementhtml et body défilent librement à 1497 ms tenue
rien-derriereaucun élément ni classe nommés loader, voile ou verrou tenue
Ouvrir la page du cas ↗

navigation

4 cas · 4 conforme(s) à l'attente

fixee-par-le-parent

conforme

LE FAUX NÉGATIF DU 27/08 : la SECTION porte la fixation, le <nav> rend « relative » à cause de la règle du socle, et la barre reste pourtant en haut de l’écran. La sonde doit lire le COMPORTEMENT, pas le nœud.

preuveattendumesuré
existe1 nav de 1440 × 72 px tenue
liens-vivants3 lien(s), tous répondus tenue
clavier-et-focus1 appui(s) sur Tab · 1 changement(s) visible(s) : outline : 3px none rgb(255, 255, 255) → 2px solid rgb(138, 106, 58) tenue
barre-fixefixation portée par section (position: fixed), tenue à 0 px après 900 px de défilement, aucun texte recouvert tenue tenue
petit-ecran3/3 lien(s) visible(s) à 390 px, nav de 390 px, page sans débordement tenue
repere-courantaria-current sur « Accueil » tenue
Ouvrir la page du cas ↗

rien-ne-fixe

conforme

la fiche la décide fixée et AUCUN nœud de la chaîne ne la fixe. Sans ce cas, la preuve pourrait rendre « tenue » sur tout — c’est la contre-épreuve du cas du dessus, et le seul endroit où « rompue » est le bon verdict.

preuveattendumesuré
existe1 nav de 1440 × 72 px tenue
liens-vivants3 lien(s), tous répondus tenue
clavier-et-focus1 appui(s) sur Tab · 1 changement(s) visible(s) : outline : 3px none rgb(255, 255, 255) → 2px solid rgb(138, 106, 58) tenue
barre-fixela fiche la décide FIXÉE et rien ne la fixe, ni la barre ni aucun de ses parents jusqu’au corps — le <nav> rend position: relative rompue rompue
petit-ecran3/3 lien(s) visible(s) à 390 px, nav de 390 px, page sans débordement tenue
repere-courantaria-current sur « Accueil » tenue
Ouvrir la page du cas ↗

cache-le-debut

conforme

la barre est bien fixée, et RIEN ne réserve sa hauteur : le début du contenu passe dessous. C’est le seul recouvrement qui soit une faute — du texte qui défile sous une barre fixe est son fonctionnement, pas son défaut.

preuveattendumesuré
existe1 nav de 1440 × 72 px tenue
liens-vivants3 lien(s), tous répondus tenue
clavier-et-focus1 appui(s) sur Tab · 1 changement(s) visible(s) : outline : 3px none rgb(255, 255, 255) → 2px solid rgb(138, 106, 58) tenue
barre-fixeelle recouvre 1 élément(s) de texte : h1 « Un titre que la barre recouvre » rompue rompue
petit-ecran3/3 lien(s) visible(s) à 390 px, nav de 390 px, page sans débordement tenue
repere-courantaria-current sur « Accueil » tenue
Ouvrir la page du cas ↗

page-qui-ne-defile-pas

conforme

la barre est fixée mais la page tient dans l’écran. Rien ne permet de vérifier qu’elle TIENT au défilement : le verdict doit être « aveugle ». Rendre « rompue » ici accuserait une barre saine sur un site court.

preuveattendumesuré
existe1 nav de 1440 × 72 px tenue
liens-vivants3 lien(s), tous répondus tenue
clavier-et-focus1 appui(s) sur Tab · 1 changement(s) visible(s) : outline : 3px none rgb(255, 255, 255) → 2px solid rgb(138, 106, 58) tenue
barre-fixela fixation est portée par section (position: fixed), mais la page ne défile pas (0 px) : rien ne permet de vérifier qu’elle tient aveugle aveugle
petit-ecran3/3 lien(s) visible(s) à 390 px, nav de 390 px, page sans débordement tenue
repere-courantaria-current sur « Accueil » tenue
Ouvrir la page du cas ↗

Orphic Web Studio — page générée par outils/banc-en-ligne.mjs. Les cas viennent de outils/eprouver-sondes.mjs, mesurés avec la même sonde et les mêmes options que le portillon.