Siirry sisältöön
SilktideOhje

Yksilölliset seliteyhdistykset

Silktide tarkistaa lomakkeiden selitteet, jotka nimeävät kenttänsä tunnuksen avulla, ja raportoi selitteet, joilla on sama tunnus kuin toisella selitteellä. Jokaisella kentällä tulee olla täsmälleen yksi siihen viittaava selite, jotta se ilmoitetaan aina samalla tavalla.

<label> yhdistetään lomakekenttäänsä asettamalla selitteen for-attribuutin arvoksi kentän id. Kun kaksi tai useampi selite käyttää samaa for-arvoa, ne kaikki viittaavat samaan kenttään – yleensä siksi, että lomake on kopioitu ja liitetty eikä tunnuksia ole koskaan päivitetty.

<!-- Ongelma: molemmat selitteet viittaavat tunnukseen id="name" -->
<label for="name">Nimesi</label>
<input id="name">

<label for="name">Yrityksen nimi</label>
<input id="company">

Miksi tällä on merkitystä

on valittava, mikä selite kentälle ilmoitetaan, ja eri valitsevat eri tavoin – jotkin lukevat ensimmäisen, jotkin molemmat. Samaan aikaan kenttä, jolle toinen selite oli tarkoitettu, jää kokonaan ilman selitettä, joten se ilmoitetaan nimettömänä kenttänä. Selitteen napsauttaminen myös kohdistaa kohdistuksen sen kenttään, joten kävijä, joka napsauttaa tekstiä ”Yrityksen nimi”, saattaa huomata kirjoittavansa väärään kenttään.

Korjaaminen

  1. Anna jokaiselle lomakekentälle oma yksilöllinen id.
  2. Kohdista kunkin selitteen for-attribuutti sen kuvaaman kentän tunnukseen:
<!-- Korjattu: kukin selite viittaa omaan kenttäänsä -->
<label for="name">Nimesi</label>
<input id="name">

<label for="company">Yrityksen nimi</label>
<input id="company">
  1. Jos useat tekstinosat todella kuvaavat yhtä kenttää, säilytä yksi <label> ja yhdistä lisäteksti aria-describedby-attribuutilla toisen selitteen sijaan.

Miten Silktide testaa tämän

  1. Etsi jokaiselta sivulta kaikki <label>-elementit, joilla on for-attribuutti.
  2. Ryhmittele selitteet niiden for-arvon mukaan.
  3. Jos kaksi tai useampi selite käyttää samaa arvoa, raportoi kaikki ryhmän selitteet.

Vianmääritys

Selitteet ovat erillisissä lomakkeissa

Tunnusten on oltava yksilöllisiä koko sivulla, ei vain yhden lomakkeen sisällä. Kaksi samalla sivulla olevaa lomaketta, jotka molemmat sisältävät <label for="email">, ovat silti ristiriidassa keskenään – nimeä tunnukset uudelleen niin, että ne eroavat toisistaan, esimerkiksi signup-email ja newsletter-email.

Lisätietoja

Viimeksi päivitetty

Oliko tästä sivusta apua?