Hopp til innhold
SilktideHjelp

Dupliserte ID-er

Silktide finner sider der den samme id-verdien brukes på mer enn ett element. ID-er må være unike på en side, fordi alt som refererer til en ID – skjematiketter, ARIA-relasjoner og lenker på siden – bare kan finne én av de dupliserte ID-ene.

<!-- Begge inndatafeltene har id="name": hvilket felt beskriver hver etikett? -->
<label for="name">Navnet ditt</label>
<input id="name">

<label for="name">Bedriftsnavn</label>
<input id="name">

Hvorfor dette er viktig

er avhengig av ID-referanser for å koble sammen relaterte elementer. Når ID-er er duplisert, kan en lese feil etikett for et skjemafelt, eller ingen etikett i det hele tatt – i eksempelet over kan begge feltene bli lest opp som «Navnet ditt», slik at brukeren skriver navnet sitt i bedriftsnavnfeltet. Den samme feilen påvirker -attributter som aria-labelledby og aria-describedby, samt lenker på siden som hopper til en #id.

Slik løser du det

  1. Gi de dupliserte ID-ene nye navn, slik at hver id på siden er unik, og oppdater alt som refererte til dem (for-attributter, ARIA-attributter og lenker).
  2. Hvis de dupliserte ID-ene kommer fra en gjentatt komponent – en mal som gjengis flere ganger per side – må du endre malen slik at den genererer unike ID-er, eller bruke klasser i stedet for ID-er som stilkroker når det ikke er nødvendig å referere til dem.
  3. Hvis en duplikat som er flagget, faktisk er ufarlig i din sammenheng, kan du ignorere funnet.

Slik tester Silktide dette

  1. Finn alle elementene på siden med et id-attributt. Elementer inne i SVG-grafikk hoppes over, siden ID-ene deres tilhører en separat kontekst.
  2. Gruppér elementene etter id-verdien.
  3. Når mer enn ett element har samme id, flagges hvert av dem.

Les mer

Sist oppdatert

Var denne siden nyttig?