Kort svar: En label fortæller, hvad feltet skal indeholde — også når feltet er tomt, og også for den, der ikke kan se layoutet. En placeholder forsvinder, når man begynder at skrive, og tæller derfor ikke. Ahorizon måler, hvor mange af sidens felter der har en maskinlæsbar label.

Hvad Ahorizon måler

Kontrollen indgår i ét af tjekkene. Tærsklerne nedenfor er dem, motoren faktisk regner med.

TjekHvad motoren ser påHvornår kontrollen består
EAA-tjekFormularfelter har labelsAlle formularfelter på siden, og om hvert af dem er bundet til en label via for/id eller har et korrekt aria-attribut.Fuld score, når intet felt mangler label. Fem eller flere uden lægger loft over scoren. Sider uden formularfelter får status “ikke relevant”. Kontrollen er markeret som kritisk.

Sådan ser det ud i koden

En placeholder er hjælpetekst, ikke en label. Den forsvinder ved indtastning og har ofte for lav kontrast.

Før
<input type="email" placeholder="Din e-mail">
Efter
<label for="email">Din e-mail</label>
<input type="email" id="email" name="email" autocomplete="email">

Hvad fundet betyder

  • Uden label ved brugeren ikke, hvad feltet skal indeholde — og en skærmlæser har ingenting at læse op.
  • En udfyldt formular uden labels er umulig at kontrollere, før den sendes.
  • Labels gør også klikmålet større: et klik på teksten sætter fokus i feltet.

Sådan retter du det

  1. Brug label med for, der peger på feltets id.
  2. Brug placeholder til et eksempel, aldrig som erstatning for label.
  3. Marker obligatoriske felter i selve labelen, ikke kun med en farve eller en stjerne.
  4. Kontrollér, at fejlbeskeder også er knyttet til feltet — ikke kun vist over formularen.

Det kan tjekket ikke afgøre

  • Motoren kontrollerer bindingen, ikke om labelteksten er forståelig.
  • Formularer bygget i browseren indgår ikke.
  • Fejlhåndtering, valideringsbeskeder og selve gennemførelsen af flowet kræver manuel test.