1.1.1 Muu kuin tekstisisältö
Kaikkien kuvien, kuvakkeiden ja muiden ei-tekstuaalisten elementtien on sisällettävä tekstikuvaus, joka välittää saman tiedon tai toiminnon.
Esitysroolien ja piilotettujen tilojen korjaaminen koristeellisessa sisällössä
Koristeelliset grafiikat ja ei-tekstuaalinen sisältö, jotka eivät välitä merkityksellistä tietoa, tulisi piilottaa apuvälineteknologioilta, kuten ruudunlukijoilta. Näin apuvälineteknologioiden käyttäjät voivat keskittyä merkitykselliseen sisältöön.
Tunnista HTML-koodista koristeellinen sisältö, joka ei tarjoa merkityksellistä tietoa tai toiminnallisuutta.
Lisää koristeellisiin
<svg>-elementteihin attribuuttiaria-hidden="true"kyseiseen<svg>-elementtiin.Lisää muulle koristeelliselle ei-tekstuaaliselle sisällölle, kuten pelkkänä reunuksena käytettävälle
<img>-elementille, pelkästään ulkoasun muotoiluun käytettävälle<object>-elementille tai visuaalisiin tehosteisiin käytettävälle<area>-elementille attribuuttirole="presentation".Jos koristeellisella ei-tekstuaalisella elementillä on jo
role-attribuutti, korvaa se attribuutillarole="presentation".
Esimerkki
!-- Incorrect -->
<svg width="100" height="100">
<circle
cx="50"
cy="50"
r="40"
stroke="black"
stroke-width="3"
fill="red"
/>
</svg>
<!-- Correct -->
<svg width="100" height="100" aria-hidden="true">
<circle
cx="50"
cy="50"
r="40"
stroke="black"
stroke-width="3"
fill="red"
/>
</svg>
Puuttuvien alt-attribuuttien korjaaminen ei-tekstuaalisessa sisällössä
Kaikella ei-tekstuaalisella sisällöllä, kuten kuvilla, videoilla ja painikkeilla, tulisi olla vaihtoehtoinen teksti, joka tunnistaa sisällön kuvailevasti.
Etsi HTML-koodista ei-tekstuaaliset sisältöelementit (esim.
<img>,<object>,<area>), joista puuttuualt-attribuutti.Lisää elementtiin
alt-attribuutti.Kirjoita
alt-attribuuttiin kuvaileva vaihtoehtoinen kuvaus, joka välittää sisällön merkityksen.
Huomautus: Koristeellisille kuville käytä arvoaalt=""(tyhjä vaihtoehtoinen teksti) osoittamaan, ettei kuva välitä merkityksellistä sisältöä.
Esimerkki
<!-- Incorrect -->
<img src="logo.png">
<!-- Correct -->
<img src="logo.png" alt="Logo of Company A with a stylized tree design">Puuttuvan vaihtoehtoisen tekstin korjaaminen kuvapainikkeissa
Kuvapainikkeilla on oltava kuvaileva vaihtoehtoinen teksti, jotta näkövammaiset käyttäjät ymmärtävät painikkeen tarkoituksen sivulla liikkuessaan.
Etsi HTML-koodista
<img>-elementti, joka on<button>- tai<input>-elementin sisällä.Etsi
<img>-elementistäalt-attribuutti.Lisää
alt-attribuuttiin selkeä ja ytimekäs kuvaus painikkeen toiminnosta.
Esimerkki
<-- Incorrect -->
<button><img src="submit-button.png" alt=""></button>
<-- Correct -->
<button><img src="submit-button.png" alt="Submit form"></button>Puuttuvien aria-labelledby-attribuuttien korjaaminen
aria-labelledby-attribuutin käyttö varmistaa, että apuvälineteknologia, kuten ruudunlukija, osaa lukea sisällön nimiöt oikein, mikä auttaa käyttäjiä ymmärtämään elementin asiayhteyden.
Etsi HTML-koodista elementti, joka tarvitsee nimiön (esim.
<img>,<object>,<area>).Lisää elementtiin attribuutti
aria-labelledby.Anna
aria-labelledby-attribuutissa nimiön nimi, joka kuvaa elementtiä.
Huomautus: Nimiön nimen tulisi välittää sama merkitys kuin vastaavan elementin nimiön, joka kuvaa kuvan sisältöä.
Esimerkki
<!-- Incorrect -->
<img src="chart.png" aria-labelledby="nonexistentLabel">
<!-- Correct -->
<img src="chart.png" aria-labelledby="chartTitle">
<h2 id="chartTitle">Sales Data Chart</h2>Puuttuvien title-attribuuttien korjaaminen
title-attribuutin käyttö varmistaa, että apuvälineteknologia, kuten ruudunlukija, voi lukea sisällön asianmukaisen otsikon kanssa.
Etsi HTML-koodista elementti, joka tarvitsee nimiön (esim.
<img>,<object>).Lisää elementtiin
title-attribuutti.Kirjoita
title-attribuuttiin elementtiä kuvaava otsikko.
Esimerkki
<!-- Incorrect -->
<object data="document.pdf" type="application/pdf"></object>
<!-- Correct -->
<object data="document.pdf" type="application/pdf" title="Annual Financial Report 2023"></object>Puuttuvien saavutettavien nimien korjaaminen merkityksellisissä grafiikoissa
Lisää SVG-elementteihin saavutettavat nimet tekstivastineiksi, jotta ruudunlukijoita tai muita apuvälineteknologioita käyttävät ymmärtävät grafiikat.
Etsi HTML-koodista
<svg>-elementti, jolla onrole="img".
Varmista, että merkitykselliset <svg>-elementit sisältävät ARIA-roolin (esim. role="img") ennen aria-label-attribuutin lisäämistä.
Lisää tämän
<svg>-elementin sisällearia-label-attribuutti.Aseta
aria-label-attribuutille ytimekäs, kuvaileva nimiö grafiikalle.
Esimerkki
<!-- Incorrect -->
<svg role="img" width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
<!-- Correct -->
<svg role="img" width="100" height="100" aria-label="Red circle representing a stop sign">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>Puuttuvien saavutettavien nimien korjaaminen koristeellisissa grafiikoissa
Esitysroolin lisääminen koristeellisiin grafiikoihin varmistaa, että apuvälineteknologiat, kuten ruudunlukijat, voivat ohittaa tarpeettoman sisällön ja keskittyä lukemaan merkityksellistä sisältöä.
Etsi HTML-koodista
<svg>-elementti.Lisää
<svg>-elementtiinrole="presentation"-attribuutti.
Esimerkki
<!-- Incorrect -->
<svg width="100" height="100">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>
<!-- Correct -->
<svg width="100" height="100" role="presentation">
<circle cx="50" cy="50" r="40" stroke="black" stroke-width="3" fill="red" />
</svg>Puuttuvan vaihtoehtoisen tekstin korjaaminen elementeissä, joilla on img-rooli
Vaihtoehtoinen teksti elementeille, joilla on img-rooli, antaa ruudunlukijoille mahdollisuuden kuvata kuva, mikä auttaa käyttäjiä ymmärtämään sen tarkoituksen ja sisällön. aria-label- tai aria-labelledby-attribuutin lisääminen antaa käyttäjille tiedot, joiden avulla he ymmärtävät kuvan tarkoituksen tai sisällön.
- Etsi HTML-koodista HTML-elementti, jolla on
role="img".
Lisää elementtiinaria-label- taiaria-labelledby-attribuutti. Kirjoita attribuuttiin kuvan kuvaus.
Esimerkki
<!-- Incorrect -->
<svg role="img">
<!-- SVG content -->
</svg>
<!-- Correct -->
<svg role="img" aria-label="Company logo">
<!-- SVG content -->
</svg>Tarpeettomien title-attribuuttien korjaaminen kuvissa, joiden vaihtoehtoinen teksti on tyhjä
Kun kuva on merkitty tyhjällä vaihtoehtoisella tekstillä (alt=""), apuvälineteknologioiden on tarkoitus ohittaa se. title-attribuutin lisääminen tässä tapauksessa luo ristiriitaista tietoa, koska ruudunlukijat voivat silti ilmoittaa otsikon, mikä kumoaa kuvan koristeelliseksi merkitsemisen tarkoituksen.
Etsi HTML-koodista
<img>-elementti.Jos kuva on puhtaasti koristeellinen, varmista, että sillä on tyhjä
alt, ja poista mahdollinentitle-attribuutti.
Esimerkki
<!-- Incorrect -->
<img src="decorative-divider.png" alt="" title="Section divider">
<!-- Correct -->
<img src="decorative-divider.png" alt="">Epäkuvaavan alt-tekstin korjaaminen kuvissa
Kaikella ei-tekstuaalisella sisällöllä, kuten kuvilla, videoilla ja painikkeilla, tulisi olla vaihtoehtoinen teksti, joka tunnistaa sisällön kuvailevasti.
Etsi HTML-koodista
<img>-elementti.Etsi
<img>-elementistäalt-attribuutti.Korvaa nykyinen kuvaus kuvaavammalla ilmauksella, joka välittää kuvan tarkoituksen tai sisällön.
Huomautus: Jos kuva on koristeellinen eikä välitä merkityksellistä tietoa, korvaa nykyinen attribuutin kuvaus arvollaalt=""tairole="presentation", jotta se piilotetaan ruudunlukijoilta.
Esimerkki
<!-- Incorrect -->
<img src="company-logo.png" alt="Logo">
<!-- Correct -->
<img src="company-logo.png" alt="White House logo, representing the official symbol">
1.2.1 Pelkkä ääni ja pelkkä video (esitallennettu)
Kaikkeen esitallennettuun äänisisältöön tai videoon, jossa ei ole kuvaa tai ääntä, on liitettävä tekstitranskriptio, joka tarjoaa saman tiedon.
Puuttuvien äänitranskriptioiden korjaaminen
Äänisisällön tekstitranskriptio varmistaa, että kaikki käyttäjät, myös kuurot ja huonokuuloiset, saavat saman tiedon.
Etsi HTML-koodista
<audio>-elementti.Lisää
<audio>-elementin jälkeen<p>-elementti.Kirjoita
<p>-elementtiin äänisisällön koko transkriptio tekstimuodossa.
Esimerkki
<!-- Incorrect -->
<audio controls><source src="interview.mp3" type="audio/mpeg">Your browser does not support the audio element.</audio>
<!-- Correct -->
<audio src="interview.mp3" type="audio/mpeg" your="Your" browser="browser" does="does" not="not" support="support" the="the" audio="audio">
<p>Transcript: In this interview, Dr. Smith explains the importance of regular exercise. She discusses how physical activity can improve both mental and physical health, reduce the risk of chronic diseases, and enhance overall quality of life. She also shares tips for staying motivated and setting realistic fitness goals.</p>1.2.2 Tekstitys (esitallennettu)
Kaikissa esitallennetuissa videoissa, joissa on ääntä, on oltava tekstitys, joka näyttää puhutut sanat ja tärkeät äänet ruudulla.
Puuttuvan tekstityksen korjaaminen videosisällössä
Esitallennettujen videoiden tekstitys varmistaa, että kuurot ja huonokuuloiset käyttäjät voivat silti ymmärtää sisällön.
Etsi HTML-koodista
<video>-elementti.Lisää
<video>-elementin sisään<track>-elementti.-
Lisää
<track>-elementtiin seuraavat attribuutit:kind-attribuutti, jonka arvo on"captions"(esim.kind="captions").src-attribuutti, jonka arvo on tekstitystiedoston polku (esim.captions.vtt).srclang-attribuutti, jonka arvo on sopiva kielikoodi (esim.en).label-attribuutti, joka kuvaa videosisällön kielen (esim."English").
Esimerkki
<!-- Incorrect -->
<video src="training-overview.mp4" controls>
</video>
<!-- Correct -->
<video src="training-overview.mp4" controls>
<track src="training-overview-en.vtt" kind="captions" srclang="en" label="English">
</video>
Puuttuvan tekstityksen korjaaminen upotetuissa Vimeo-videoissa
Vimeo-videoissa on oltava tekstitys, jotta ne ovat saavutettavia kuuroille ja huonokuuloisille käyttäjille. Vimeossa tekstityksen voi lisätä videon asetuksista.
Avaa video sivustolla vimeo.com.
Kirjaudu sisään tilillä, joka omistaa videon.
Siirry kohtaan Asetukset.
Valitse Jakelu-välilehti ja avaa sitten Tekstitykset (tai vanhemmissa asetteluissa Lisäasetukset > Tekstitykset).
Etsi Tekstitykset/CC-osio.
Lähetä .vtt- tai .srt-tekstitystiedosto.
Tallenna muutokset ja varmista sitten videon esikatselulla, että tekstitys on käytössä.
Huomautus: Tekstitys näkyy automaattisesti upotetussa <iframe>-elementissä, jos se on otettu käyttöön Vimeossa.
Puuttuvan tekstityksen korjaaminen upotetuissa YouTube-videoissa
YouTube-videoissa on oltava tekstitys, jotta kuurot ja huonokuuloiset käyttäjät voivat saada puhutun sisällön käyttöönsä. YouTube tarjoaa vaihtoehtoina tekstityksen manuaalisen lähettämisen tai automaattisen tekstityksen.
Avaa video sivustolla youtube.com tilillä, joka omistaa videon.
Siirry kohtaan YouTube Studio ja valitse video, jota haluat muokata.
Napsauta vasemmassa valikossa kohtaa Tekstitykset.
Valitse tekstityksesi kieli.
-
Napsauta Lisää ja valitse jokin seuraavista:
Lähetä tiedosto (.vtt- tai .srt-tiedostoille)
Automaattinen synkronointi (liitä koko transkriptio ja anna YouTuben ajoittaa se)
Kirjoita manuaalisesti
Tarkista ja julkaise tekstityksesi.
1.3.1 Informaatio ja suhteet
Kaikki asettelun, muotoilun tai visuaalisen rakenteen kautta välitetty tieto on oltava saatavilla myös tekstinä tai koodattuna siten, että apuvälineteknologiat voivat ymmärtää sen.
Puuttuvien ARIA-maamerkkiroolien korjaaminen sivun rakenteessa
Maamerkkiroolit auttavat ruudunlukijoiden käyttäjiä hahmottamaan sivun asettelun ja siirtymään nopeasti keskeisiin osiin.
Etsi HTML-koodista rakenteelliset elementit (esim.
<div>,<section>,<form>).Lisää sopiva ARIA-maamerkkirooli
role-attribuutilla (esim.role="main",role="navigation",role="form"). Lue lisää sopivasta maamerkkiroolista.
Huomautus: Lisää ARIA-rooleja vain, jos elementillä ei jo ole sisäänrakennettua maamerkkiroolia (esim.<nav>toimii jo roolinanavigation).
Esimerkki
<!-- Incorrect -->
<div id="main-content">
<p>Welcome to our website.</p>
</div>
<!-- Correct -->
<div id="main-content" role="main">
<p>Welcome to our website.</p>
</div>
Puuttuvan fieldset-elementin tai ryhmän korjaaminen samannimisille syötekentille
Samannimiset valintapainikkeet tai valintaruudut on ryhmiteltävä, jotta niiden suhde on selkeä. Tämä auttaa ruudunlukijoita käyttäviä käyttäjiä ymmärtämään, että kentät kuuluvat yhteen.
Etsi HTML-koodista valintapainike- tai valintaruutukentät, joilla on sama
name-attribuutti.Kääri liittyvät kentät
<fieldset>-elementin sisään.Lisää
<legend>ryhmän kuvaukseksi<fieldset>-elementin ensimmäiseksi elementiksi.
Vaihtoehtoisesti kääri kentät säilöelementtiin, jolla on role="group" tai role="radiogroup", ja anna nimiö käyttämällä attribuuttia aria-labelledby tai aria-label.
Esimerkki
<!-- Incorrect -->
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
<!-- Correct -->
<fieldset>
<legend>Select your location</legend>
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
</fieldset>
<!-- Correct -->
<div role="group" aria-label="Select your location">
<label>
<input type="checkbox" name="city"> Toronto
</label>
<label>
<input type="checkbox" name="city"> London
</label>
</div>
Puuttuvan yläelementin korjaaminen <li>-elementeille
Kun listakohteet sijoitetaan listaelementin sisään, ruudunlukijat tunnistavat ryhmitellyn sisällön oikein.
Etsi HTML-koodista
<li>-elementit, joita ei ole kääritty<ul>- tai<ol>-elementtiin.Kääri
<li>-elementit<ul>-elementtiin (luettelomerkeille) tai<ol>-elementtiin (numeroidulle luettelolle).
Esimerkki
<!-- Incorrect --> <li>First item</li> <li>Second item</li> <!-- Correct --> <ul> <li>First item</li> <li>Second item</li> </ul>
Kuvauslistojen (DL) rakenneongelmien korjaaminen
Kuvauslistoilla esitetään toisiinsa liittyvien tietojen pareja, kuten termi ja sen selitys. Kun lista ei ole rakenteeltaan oikein, ruudunlukijat saattavat lukea sisällön väärässä järjestyksessä tai hämmentää käyttäjiä.
Etsi HTML-koodista liputetut
<dl>-elementit.Sijoita
<dl>-elementin sisällä termi<dt>-elementin sisään.Sijoita
<dt>-elementin sisällä kuvaus<dd>-elementin sisään.
Huomautus: <dt>-elementin tulisi sisältää vähintään yksi <dd>-elementti.
Poista kaikki muut suoraan
<dl>-elementin sisään sijoitetut elementit, ellei niitä ole kääritty<dt>- tai<dd>-elementin sisään.
Esimerkki
<!-- Incorrect --> <dl> <p>HTML</p> <p>A markup language for web pages.</p> </dl> <!-- Correct --> <dl> <dt>HTML</dt> <dd>A markup language for web pages.</dd> </dl>
Kuvauslistaan (DL) kuulumattomien määritelmätermien (DT) ja määritelmäkuvausten (DD) korjaaminen
Määritelmätermien (<dt>) ja määritelmäkuvausten (<dd>) on aina sisällyttävä kuvauslistaan (<dl>). Kun <dt>- tai <dd>-elementtejä käytetään <dl>-elementin ulkopuolella, ruudunlukijat saattavat lukea sisällön väärässä järjestyksessä tai hämmentää käyttäjiä.
Etsi HTML-koodista liputetut
<dt>- tai<dd>-elementit.Varmista, että jokainen
<dt>ja<dd>on sijoitettu<dl>-elementin sisään. Jos sisältö ei ole osa kuvauslistaa, korvaa<dt>ja<dd>sopivalla elementillä (esim.<h2>,<h3>,<p>).
Esimerkki
<!-- Incorrect --> <dt>CSS</dt> <dd>A language used to style web pages.</dd> <!-- Correct --> <dl> <dt>CSS</dt> <dd>A language used to style web pages.</dd> </dl>
Taulukoiden scope-attribuutin virheellisen käytön korjaaminen
Kun taulukossa käytetään scope-attribuuttia, se on määritettävä vain otsikkosoluille (<th>), jotta niiden yhteys tietosoluihin määritellään selkeästi. Virheelliset tai puuttuvat scope-arvot voivat estää avustavia teknologioita yhdistämästä otsikoita oikein taulukon tietoihin.
-
Etsi HTML-koodistasi merkitty
scope-attribuutti tai taulukkoelementit. -
Päivitä
scope-attribuutti siten, että:scope-attribuutti määritetään vain<th>-elementeille.- Jokaisella
<th>-elementillä on sopiva scope-arvo, kutencol,row,colgrouptairowgroup. -
scope-attribuutin arvo kuvaa tarkasti taulukon rakennetta ja suhteita.
Esimerkki
<!-- Incorrect -->
<table>
<tr>
<th>Name</th>
<th>Score</th>
</tr>
<tr>
<th>Alice</th>
<td>95</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Score</th>
</tr>
<tr>
<th scope="row">Alice</th>
<td>95</td>
</tr>
</table>
<!-- Incorrect -->
<table>
<tr>
<th scope="column1">Name</th>
<th scope="column2">Score</th>
</tr>
<tr>
<th scope="row1">Alice</th>
<td>95</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Score</th>
</tr>
<tr>
<th scope="row">Alice</th>
<td>95</td>
</tr>
</table>
Taulukoiden headers-attribuutin virheellisen käytön korjaaminen scope-attribuutin avulla
Taulukoissa on oltava taulukon tietosoluja (<td>), joita taulukon otsikot (<th>) kuvaavat. Taulukot, joissa on otsikoita mutta ei tietosoluja, eivät tarjoa avustaville teknologioille mielekkäitä yhteyksiä ja voivat aiheuttaa hämmennystä ruudunlukuohjelmien käyttäjille.
Etsi HTML-koodistasi merkityt taulukkoelementit, jotka sisältävät <th>-elementtejä mutta eivät vastaavia <td>-elementtejä.
Päivitä taulukon rakenne siten, että:
Jokainen taulukko sisältää vähintään yhden tietoja sisältävän
<td>-elementin.<th>-elementtejä käytetään vain silloin, kun ne kuvaavat todellisia taulukon tietoja.Pelkästään asettelua tai esitystä varten käytetyt taulukot eivät sisällä
<th>-elementtejä.Jos taulukko ei sisällä tietoja, poista taulukko tai korvaa se muulla kuin taulukkomerkinnällä.
Esimerkki
<!-- Incorrect -->
<table>
<tr>
<th scope="col">Name</th>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
</tr>
<tr>
<td>John</td>
</tr>
</table>
Virheellisen ARIA-ryhmittelyn korjaaminen ”group”-roolille
ARIA-roolien oikea käyttö auttaa ruudunlukuohjelmia ymmärtämään sivun rakenteen, mikä helpottaa vammaisten käyttäjien sisällössä liikkumista ja sen käyttämistä.
Etsi HTML-koodista elementti, jossa on
role="group".Sisällytä elementtiin vähintään yksi interaktiivinen ohjauselementti (esim.
<input>,<textarea>tai<select>).
Huomautus: Lue lisää siitä, mikä interaktiivinen ohjauselementti kannattaa sisällyttää. Jos sopivia interaktiivisia ohjauselementtejä ei ole, harkitserole="group"-attribuutin korvaamista sopivammalla ARIA-roolilla tai -rakenteella.
Esimerkki
<!-- Incorrect -->
<div role="group">
<p>This is a group with no interactive elements.</p>
</div>
<!-- Correct -->
<div role="group">
<label for="username">Username:</label>
<input id="username" type="text">
</div>
Virheellisen ARIA-ryhmittelyn korjaaminen ”radiogroup”-roolille
ARIA-roolien oikea käyttö auttaa ruudunlukuohjelmia ymmärtämään sivun rakenteen, mikä helpottaa vammaisten käyttäjien sisällössä liikkumista ja sen käyttämistä.
Etsi HTML-koodista elementti, jossa on
role="radiogroup".Sisällytä elementtiin vähintään yksi valintapainike (esim.
<input type="radio">tairole="radio").
Esimerkki
<!-- Incorrect -->
<div role="radiogroup">
<p>Select a delivery method:</p>
</div>
<!-- Correct -->
<div role="radiogroup" aria-label="Select a delivery method">
<label><input type="radio" name="delivery" value="standard"> Standard </label><br>
<label><input type="radio" name="delivery" value="express"> Express </label><br>
<label><input type="radio" name="delivery" value="overnight"> Overnight</label>
</div>
Virheellisen ARIA-ryhmittelyn korjaaminen ”checkbox”-roolille
ARIA-roolien oikea käyttö auttaa ruudunlukuohjelmia ymmärtämään sivun rakenteen, mikä helpottaa vammaisten käyttäjien sisällössä liikkumista ja sen käyttämistä.
Etsi HTML-koodista
<input type="checkbox">tai elementti, jossa onrole="checkbox".Kääri valintaruudut säiliöelementtiin ja määritä sille
role="group".Lisää elementtiin, jossa on
aria-labelledby,aria-label- tairole="checkbox"-attribuutti kuvaamaan valintaruuturyhmän tarkoitusta.
Esimerkki
<!-- Incorrect -->
<div><label><input type="checkbox" id="news"> Newsletter</label><br>
<label><input type="checkbox" id="updates"> Product Updates</label><br>
<label><input type="checkbox" id="offers"> Special Offers</label>
</div>
<!-- Correct -->
<div role="group" aria-labelledby="emailPref">
<p id="emailPrefsLabel">Which types of emails would you like to receive?</p>
<label><input type="checkbox" id="news"> Newsletter</label><br>
<label><input type="checkbox" id="updates"> Product Updates</label><br>
<label><input type="checkbox" id="offers"> Special Offers</label>
</div>
Virheellisen ARIA-ryhmittelyn korjaaminen ”radio”-roolille
ARIA-roolien oikea käyttö auttaa ruudunlukuohjelmia ymmärtämään sivun rakenteen, mikä helpottaa vammaisten käyttäjien sisällössä liikkumista ja sen käyttämistä.
Etsi HTML-koodista
<input type="radio">tai elementti, jossa onrole="radio".Ryhmittele valintapainikkeet sellaisen elementin sisään, jossa on
role="radiogroup".Lisää elementtiin
aria-labelledby- taiaria-label-attribuutti kuvaamaan valintapainikeryhmän tarkoitusta.
Esimerkki
<!-- Incorrect -->
<label><input type="radio" name="contact"> Email</label><br>
<label><input type="radio" name="contact"> Phone</label><br>
<label><input type="radio" name="contact"> Text Message</label>
</div>
<!-- Correct -->
<div role="radiogroup" aria-labelledby="contactMethod">
<p id="contactMethodLabel">How would you like us to contact you?</p>
<label><input type="radio" name="contact"> Email</label><br>
<label><input type="radio" name="contact"> Phone</label><br>
<label><input type="radio" name="contact"> Text Message</label>
</div>
Puuttuvan aria-level-arvon korjaaminen otsikkoroolien yhteydessä
ARIA-otsikkoroolien on sisällettävä selkeyden vuoksi määritetty otsikkotaso.
Etsi HTML-koodista elementti, jolla on attribuutti
role="heading".Lisää
role-attribuutin jälkeenaria-level-attribuutti, jonka arvo on väliltä 1–6 (esim.aria-level="2").
Esimerkki
<!-- Incorrect -->
<div role="heading">Subsection Title</div>
<!-- Correct -->
<div role="heading" aria-level="2">Subsection Title</div>
Puuttuvien taulukon otsikoiden korjaaminen
Taulukon otsikot auttavat ruudunlukuohjelmia ymmärtämään, mitä kukin sarake tai rivi tarkoittaa. Jos taulukossa ei ole otsikoita, avustavat teknologiat eivät voi antaa käyttäjille oikeaa asiayhteyttä.
Etsi HTML-koodistasi
<table>-elementti ja tunnista ensimmäinen rivi. Tämän rivin tulisi määritellä taulukon otsikot (esim. ”Nimi”, ”Ikä” jne.).Jos ensimmäisellä rivillä käytetään
<td>-elementtejä (taulukon tietoja), muuta jokainen<td>muotoon<th>(taulukon otsikko) osoittaaksesi, että nämä solut ovat otsikoita.Lisää
scope="col"jokaiseen<th>-elementtiin, jos kyseessä on sarakeotsikko, taiscope="row", jos kyseessä on riviotsikko.
Esimerkki
<!-- Incorrect -->
<table>
<tr>
<td>Name</td>
<td>Age</td>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
Luetteloiden puuttuvien tietosoluyhteyksien korjaaminen
Rakenteista tietoa esittävien luetteloiden sijaan tulisi käyttää taulukkoa, jotta ruudunlukuohjelmat voivat yhdistää tiedot selkeästi otsikoihin.
Etsi HTML-koodista
<ul>- ja<ol>-elementit, jotka esittävät tietoja nimikkeineen ja arvoineen.Korvaa
<ul>- tai<ol>-rakenne<table>-elementillä.Lisää
<th>-elementit otsikoille ja<td>-elementit arvoille.Lisää
<th>-elementtiinscope="col"-attribuutti sarakeotsikoiden osoittamiseksi.
Esimerkki
<!-- Incorrect -->
<ul>
<li><strong>Name:</strong> Ava</li>
<li><strong>Age:</strong> 25</li>
</ul>
<!-- Correct -->
<table>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
<tr>
<td>Ava</td>
<td>25</td>
</tr>
</table>
Virheellisen luettelorakenteen korjaaminen
Kun luettelokohteet sijoitetaan luettelo-elementin sisään, ruudunlukuohjelmat tunnistavat ryhmitellyn sisällön oikein.
Etsi HTML-koodista
<li>-elementit, joita ei ole kääritty<ul>- tai<ol>-elementtiin.Kääri
<li>-elementit<ul>-elementtiin (luettelomerkeille) tai<ol>-elementtiin (numeroidulle luettelolle).
Esimerkki
<!-- Incorrect -->
<li>First item</li>
<li>Second item</li>
<!-- Correct -->
<ul>
<li>First item</li>
<li>Second item</li>
</ul>Taulukon otsikoiden virheellisten scope-attribuuttien korjaaminen
Scope-attribuutti yhdistää taulukon otsikot tietosoluihin. Virheelliset arvot tai arvon puuttuminen voivat vaikeuttaa taulukoiden tulkitsemista ruudunlukuohjelmien käyttäjille.
Etsi HTML-koodistasi
<th>-elementti, jonkascope-attribuutin arvo on virheellinen tai puuttuu.-
Korvaa tai lisää
scope-arvo otsikon tyypin mukaan:Käytä
scope="col"-arvoa sarakeotsikoille.Käytä
scope="row"-arvoa riviotsikoille.
Huomautus: Monitasoisissa otsikoissa käytä rowgroup- tai colgroup-arvoa, jos ryhmittely on tarpeen.
Esimerkki
<!-- Incorrect -->
<th scope="column">Course</th>
<!-- Correct -->
<th scope="col">Course</th>Määritelmäelementtien puuttuvan ylätason elementin korjaaminen
Määritelmätermit ja niiden kuvaukset on sijoitettava määritelmäluettelon sisään, jotta ruudunlukuohjelmat tunnistavat määritelmäsisällön oikein.
Etsi HTML-koodista
<dt>- tai<dd>-elementti.Kääri
<dt>- tai<dd>-elementti<dl>-säiliön sisään.
Esimerkki
<!-- Incorrect -->
<dt>HTML</dt>
<dd>A markup language</dd>
<!-- Correct -->
<dl>
<dt>HTML</dt>
<dd>A markup language</dd>
</dl>Puuttuvan legend-elementin korjaaminen fieldset-elementissä
Jokaisen <fieldset>-elementin tulisi alkaa <legend>-elementillä, joka kuvaa, mihin ryhmitellyt lomakekentät on tarkoitettu. Tämä auttaa ruudunlukuohjelmia käyttäviä käyttäjiä ymmärtämään ryhmän tarkoituksen.
Etsi HTML-koodista lomakkeesi
<fieldset>-elementti.Lisää
<legend><fieldset>-elementin ensimmäiseksi elementiksi.Kirjoita
<legend>-elementin sisään lyhyt, kuvaava nimiö, joka kertoo, mihin ryhmän lomakekenttiä käytetään.
Esimerkki
<!-- Incorrect --> <fieldset><label for="name">Name:</label><input id="name" type="text"></fieldset>
<!-- Correct --> <fieldset><legend>Personal Information</legend><label for="name">Name:</label><input id="name" type="text"></fieldset>
1.3.4 Näytön suunta
Apple-mobiiliverkkosovelluksen näytön suuntaongelmien korjaaminen
Verkkosovelluksen lukitseminen pysty- tai vaakasuuntaan voi vaikeuttaa sisällön käyttöä joillekin käyttäjille, erityisesti niille, jotka tarvitsevat tietyn laitteen suunnan. Meta-tunniste apple-mobile-web-app-orientation tulisi asettaa sallimaan mikä tahansa suunta.
- Etsi HTML-koodistasi
<meta>-tunniste, jossa on attribuuttiname="apple-mobile-web-app-orientation". - Korvaa
content=”portrait”- taicontent=”landscape”-attribuutti arvollacontent=”any”. - Tallenna muutokset ja lataa sivu uudelleen.
Esimerkki
<meta name="apple-mobile-web-app-orientation" content="any">
Meta viewport -tunnisteen suuntaongelmien korjaaminen
Viewport-asetukset, jotka lukitsevat näytön suunnan tai estävät zoomauksen, voivat vaikeuttaa sisällön lukemista ja käyttöä. Kun sekä pysty- että vaakasuunta sekä zoomaus sallitaan, käyttäjät saavat joustavuutta laitteensa ja henkilökohtaisten tarpeidensa mukaan.
- Etsi HTML-koodistasi
meta name="viewport"-tunniste. - Poista kaikki suuntarajoituksiin liittyvät attribuutit, kuten
orientation=portraittaiorientation=landscape. - Poista kaikki zoomauksen estävät attribuutit, kuten
maximum-scale=1taiuser-scalable=no. - Tallenna muutokset ja lataa sivu uudelleen.
Esimerkki
<!-- Incorrect -->
<meta name="viewport" content="width=device-width, maximum-scale=1, orientation=portrait">
<!-- Correct-->
<meta name="viewport" content="width=device-width">
CSS-suuntaongelmien korjaaminen
CSS-mediakyselyt, jotka lukitsevat sisällön pysty- tai vaakasuuntaan, voivat rajoittaa sitä, miten käyttäjät käyttävät sivua. Näiden rajoitusten poistaminen antaa sisällön mukautua molempiin suuntiin.
- Etsi CSS-koodistasi suuntaa rajoittavat mediakyselyt, kuten:
@media screen and (orientation: portrait){ … }@media screen and (orientation: landscape) { … }
- Poista nämä suuntakohtaiset mediakyselyt, jotta sisältö voi mukautua vapaasti molempiin suuntiin.
- Tallenna muutokset ja lataa sivu uudelleen.
Esimerkki:
<!-- Incorrect -->
@media screen and (orientation: portrait) {
.container {
width: 400px;
}
}
<!-- Correct-->
.container {
width: 400px;
1.3.5 Syötteen tarkoituksen tunnistaminen
Lomakekenttien virheellisten autocomplete-arvojen korjaaminen
Lomakekenttien on tunnistettava selkeästi, minkä tyyppistä tietoa ne odottavat. Tämä auttaa selaimia täyttämään tiedot automaattisesti ja tukee kognitiivisia tai motorisia vammoja omaavia käyttäjiä.
Etsi HTML-koodistasi jokainen lomakekenttä (esim.
<input>,<textarea>tai<select>), jonkaautocomplete-arvo on virheellinen.Päivitä
autocomplete-attribuutti oikealla arvolla, joka vastaa odotettua tietoa (esim."email","name","postal-code").
Huomautus: Lue lisää oikeiden autocomplete-arvojen luettelosta.
Esimerkki
<!-- Incorrect -->
<input type="text" name="full_name" autocomplete="fullname">
<!-- Correct-->
<input type="text" name="full_name" autocomplete="name">Puuttuvan autocomplete-attribuutin korjaaminen lomakekentissä
Lomakekenttien on sisällettävä autocomplete-attribuutti, joka auttaa selaimia täyttämään tiedot automaattisesti ja parantaa saavutettavuutta kognitiivisia tai motorisia vammoja omaaville käyttäjille.
Etsi HTML-koodistasi jokainen lomakekenttä (esim.
<input>,<textarea>tai<select>), joka kerää käyttäjän tietoja.Lisää jokaiseen elementtiin
autocomplete-attribuutti oikealla arvolla, joka vastaa odotettua tietoa (esim."email","name","postal-code").
<!-- Incorrect --> <input type="text" name="full_name"> <!-- Correct--> <input type="text" name="full_name" autocomplete="name">
1.4.1 Värin käyttö
Linkkien puuttuvan tyylittelyn korjaaminen
Kun linkin ainoa tyylittely on väri, jotkut käyttäjät, kuten värisokeat, eivät välttämättä erota sitä linkiksi. Lisätyylit, kuten alleviivaus tai lihavointi, tekevät linkeistä selvästi erottuvia.
Etsi HTML-koodistasi
<a>-elementti.-
Lisää
<a>-elementtiin attribuutteja, jotka tuovat mukaan muita visuaalisia vihjeitä kuin värin, kuten:text-decoration: underlinefont-weight: bold
border-bottom
Huomautus: Voit käyttää CSS-luokkia tai ulkoisia tyylitiedostoja yhdenmukaisen tyylin soveltamiseen kaikkiin sivustosi linkkeihin.
Esimerkki
<!-- Incorrect -->
<a href="features.html" style="color: blue;">View Features</a>
<!-- Correct -->
<a href="features.html" style="color: blue; text-decoration: underline;">View Features</a>1.4.2 Äänen hallinta
Puuttuvien ohjainten korjaaminen äänisoittimissa
Kun ääni toistuu automaattisesti, käyttäjien on voitava hallita toistoa. Äänenhallintapainikkeiden lisääminen mahdollistaa äänen keskeyttämisen, pysäyttämisen ja äänenvoimakkuuden säätämisen, mikä on tärkeää saavutettavuuden ja käyttökokemuksen kannalta.
Etsi HTML-koodistasi
<audio>-elementti.Lisää
controls-attribuutti suoraan<audio>-elementtiin, jotta selaimen sisäänrakennetut hallintapainikkeet otetaan käyttöön.
Huomautus: Varmista, että attribuutti ei ole tyhjä eikä sillä ole arvoa.
Esimerkki
<!-- Incorrect -->
<audio src="welcome-message.mp3" autoplay></audio>
<!-- Correct -->
<audio src="welcome-message.mp3" autoplay controls></audio>
1.4.3 Kontrasti (vähimmäisvaatimus)
Heikon kontrastin ongelmien korjaaminen tekstissä
Tekstin ja taustan välinen heikko värikontrasti voi vaikeuttaa sisällön lukemista erityisesti näkövammaisille käyttäjille. Kontrastin parantaminen helpottaa sisällön käyttöä kaikille.
Etsi HTML-koodistasi tekstiä sisältävä elementti (esim.
p,h1,span,button).Tarkista tekstin ja taustan nykyiset värit värikontrastityökalulla, kuten WebAIM Contrast Checker.
-
Varmista, että kontrastisuhde täyttää seuraavat vaatimukset:
Vähintään 4.5:1 tavalliselle tekstille.
Vähintään 3.0:1 suurikokoiselle tekstille (18pt tai lihavoitu 14pt).
Jos kontrastisuhde on liian pieni, säädä joko tekstin väriä tai taustan väriä, kunnes saavutat pienimmän sallitun kontrastisuhteen.
Esimerkki
<!-- Incorrect -->
<p style="color: #888; background-color: #fff;">Schedule a demo</p>
<!-- Correct -->
<p style="color: #000; background-color: #fff;">Schedule a demo</p>1.4.6 Kontrasti (tehostettu)
Tekstin kontrastin taustaan nähden on oltava korkeampi, jotta se on helpompi lukea heikkonäköisille.
Tehostetun kontrastin ongelmien korjaaminen tekstissä
Jotkut käyttäjät tarvitsevat voimakkaamman kontrastin lukeakseen tekstiä mukavasti. Tehostettu kontrasti varmistaa, että teksti pysyy luettavana myös vaikeissa näkemisolosuhteissa.
Etsi HTML-koodistasi tekstiä sisältävä elementti (esim.
h2,div,label,inputjne.).Tarkista tekstin ja taustan välinen kontrastisuhde kontrastintarkistustyökalulla, kuten WebAIM Contrast Checker.
-
Varmista, että suhde täyttää tehostetut vaatimukset:
Vähintään 7:1 tavalliselle tekstille
Vähintään 4.5:1 suurikokoiselle tekstille (18pt tai lihavoitu 14pt)
Säädä värejä tarvittaessa, jotta nämä tehostetut kontrastitasot täyttyvät.
Esimerkki
<!-- Incorrect -->
<h2 style="color: #aaa; background-color: #fff;">Explore Our Features</h2>
<!-- Correct -->
<h2 style="color: #000; background-color: #fff;">Explore Our Features</h2> demo</p>1.4.8 Visuaalinen esitys
Riittämättömän rivivälin korjaaminen kappaleissa
Asianmukainen rivi- ja kappaleväli parantaa luettavuutta erityisesti lukihäiriöisille tai heikkonäköisille käyttäjille.
Etsi
<p>-elementti HTML-koodistasi.Etsi
<p>-elementin CSS-määrityksistäline-height-CSS-ominaisuus ja aseta sen arvoksi vähintään 1.5 kertaa fonttikoko.
Huomautus: Voit tehdä tämän sisäisillä tyyleillä tai CSS-luokalla.Etsi
<p>-elementin CSS-määrityksistämargin-bottom-CSS-ominaisuus ja aseta sen arvoksi vähintään 1.5 kertaa rivin korkeus (esimerkiksi1.5em).
Esimerkki
<!-- Incorrect -->
<p style="line-height: 1.2; margin-bottom: 0.8em;">This is a sample paragraph.</p>
<!-- Correct -->
<p style="line-height: 1.5; margin-bottom: 1.5em;">This is a sample paragraph.</p>
Tasatun tekstin tasauksen korjaaminen kappaleissa
Täyteen tasattu teksti voi aiheuttaa epätasaisia välejä sanojen välille, mikä vaikeuttaa lukemista joillekin käyttäjille, erityisesti kognitiivisia tai näkövammoja omaaville.
Etsi HTML-koodistasi
<p>-elementti.Tarkista
<p>-elementin CSS-määrityksistä, onko käytössätext-align: justify;.Poista
justify-arvo ja aseta tasaukseksi sen sijaanleft.
Huomautus: Voit tehdä tämän myös sisäisillä tyyleillä tai CSS-luokalla.
Esimerkki
<!-- Incorrect -->
<p style="text-align: justify;">This is a sample paragraph.</p>
<!-- Correct -->
<p style="text-align: left;">This is a sample paragraph.</p>Absoluuttisten fonttikokojen korjaaminen kappaleissa
Absoluuttisten yksiköiden (esim. px, pt tai cm) käyttäminen fonttikokoihin voi vaikeuttaa tekstin koon muuttamista ja aiheuttaa ongelmia heikkonäköisille käyttäjille tai niille, jotka lukevat näytönsuurennusohjelmilla. Jotta saavutettavuus olisi parempi eri laitteilla ja näyttökooilla, fonttikoot tulisi määrittää suhteellisina yksikköinä (esim. em, rem, % tai vw).
Etsi HTML-koodistasi
<p>-elementti.Etsi
<p>-elementin CSS-tyylimäärityksistäfont size-attribuutti, joka käyttää absoluuttisia yksiköitä (esim.px,pt,cm).Korvaa sen absoluuttiset yksiköt suhteellisilla yksiköillä (esim.
em,rem,%) päivittämällä sisäiset tyylit tai vastaava CSS-luokka.
Esimerkki
<!-- Incorrect --> <p style="font-size: 16px;">Welcome to our website! Enjoy exploring our features.</p> <!-- Correct --> <p style="font-size: 1rem;">Welcome to our website! Enjoy exploring our features.</p>
Absoluuttisten rivikorkeuksien korjaaminen kappaleissa
Rivikorkeuksien määrittäminen absoluuttisilla yksiköillä (kuten px, pt tai cm) voi aiheuttaa ongelmia, kun käyttäjät yrittävät säätää tekstiä luettavammaksi, erityisesti näkövammaiset käyttäjät. Jotta saavutettavuus olisi parempi eri käyttäjille, rivikorkeudet tulisi määrittää suhteellisilla yksiköillä (kuten em, rem tai %).
Etsi HTML-koodistasi
<p>-elementti.Etsi
<p>-elementin CSS-määrityksistä rivikorkeus, joka käyttää absoluuttisia yksiköitä (esim.px,pt,cm).Korvaa sen absoluuttiset yksikköarvot suhteellisilla yksiköillä (esim.
em,remtai%) päivittämällä sisäiset tyylit tai vastaava CSS-luokka.
Esimerkki
<!-- Incorrect --> <p style="line-height: 24px;">The counseling center offers free sessions for all students.</p> <!-- Correct --> <p style="line-height: 1.5em;">The counseling center offers free sessions for all students.</p>
1.4.10 Sisällön uudelleenasettelu
Sisällön on mukauduttava ja asetuttava automaattisesti uudelleen niin, että se pysyy täysin käytettävänä ja luettavana kapeilla, jopa 320 pikselin levyisillä näytöillä.
Näkymäalueen rajoitusongelmien korjaaminen
Oikeiden näkymäalueen ominaisuuksien määrittäminen auttaa sisältöä näkymään oikein kaikilla näyttökooilla ilman, että käyttäjien tarvitsee vierittää vaakasuunnassa.
Siirry HTML-koodissasi sivun
<head>-osioon.Lisää
<head>-osioon<meta name="viewport">-tunniste.Jos
<meta name="viewport">-tunniste on jo olemassa mutta sisältää rajoittavia asetuksia, päivitä sencontent-attribuutti arvooncontent="width=device-width, initial-scale=1".
Esimerkki
<!-- Incorrect -->
<meta name="viewport" content="width=500">
<!-- Correct -->
<meta name="viewport" content="width=device-width, initial-scale=1">1.4.11 Ei-tekstuaalinen kontrasti
Heikon kontrastin ongelmien korjaaminen säätimissä
Käyttöliittymäkomponenttien ja grafiikan heikko kontrasti voi vaikeuttaa heikkonäköisten käyttäjien kykyä tunnistaa ne ja käyttää niitä. Komponenttien, kuten painikkeiden, syöttökenttien ja valintavalikoiden, kontrastisuhteen viereisiin väreihin nähden on oltava vähintään 3:1.
- Etsi HTML-koodistasi merkitty käyttöliittymäkomponentti, kuten
select,textareataiinput. - Päivitä komponentin CSS-tyylit niin, että sen reunuksen, taustan ja tekstin värien kontrastisuhde viereisiin väreihin on vähintään 3:1.
Esimerkki:
<input type="text" style="border: 1px solid #333;">
1.4.12 Tekstin välistys
Sisällön on pysyttävä helposti luettavana ja toimivana, kun käyttäjät kasvattavat kirjainten, sanojen ja rivien välistä etäisyyttä tavallisiin vähimmäiskokoihin.
Saavutettamattoman kirjainvälin korjaaminen
Saavutettava kirjainväli auttaa näkö- tai kognitiivisia vammoja omaavia käyttäjiä lukemaan tekstiä mukavammin.
Etsi HTML-koodistasi elementti, jonka CSS ohjaa kirjainväliä (esim.
<span style="letter-spacing: 0.08em !important;">).Poista
!importantletter-spacing-arvosta, jos sitä on käytetty.Aseta
letter-spacing-arvoksi vähintään0.12em.
Esimerkki:
<!-- Incorrect -->
<span style="letter-spacing: 0.08em !important;">Inaccessible letter spacing example.</span>
<!-- Correct -->
<span style="letter-spacing: 0.12em;">Accessible letter spacing example.</span>Saavutettamattoman sanavälin korjaaminen
Asianmukainen sanaväli parantaa luettavuutta käyttäjille, jotka tarvitsevat mukautettua välistystä selkeyden vuoksi.
Etsi HTML-koodistasi elementti, jonka CSS ohjaa sanaväliä (esim.
<p style="word-spacing: 0.1em !important;">).Poista
!importantword-spacing-arvosta, jos sitä on käytetty.Aseta
word-spacing-arvoksi vähintään0.16em.
Esimerkki
<!-- Incorrect -->
<p style="word-spacing: 0.1em !important;">Inaccessible word spacing example.</p>
<!-- Correct -->
<p style="word-spacing: 0.16em;">This is an example paragraph with accessible word spacing.</p>Saavutettamattoman rivikorkeuden korjaaminen
Saavutettava rivikorkeus parantaa luettavuutta ja auttaa käyttäjiä hahmottamaan tekstilohkoja helpommin.
Etsi HTML-koodistasi elementti, jonka CSS ohjaa rivikorkeutta (esim.
<div style="line-height: 1.2 !important;">).Poista
!importantline-height-arvosta, jos sitä on käytetty.Aseta
line-height-arvoksi vähintään1.5.
Esimerkki
<!-- Incorrect -->
<div style="line-height: 1.2 !important;">Inaccessible line height example.</div>
<!-- Correct -->
<div style="line-height: 1.5;">This block of text has accessible line height.</div>2.1.1 Näppäimistö
Kaikkien toimintojen ja säätimien on oltava käytettävissä pelkällä näppäimistöllä ilman, että näppäimiä täytyy painaa nopeasti tai tietyn aikarajan sisällä.
Saavutettamattomien vieritettävien alueiden korjaaminen
Vieritettävän sivun kaikkien osien on oltava käytettävissä näppäimistöllä. Näin näppäimistönavigointiin tukeutuvat käyttäjät voivat vierittää sivua ja käyttää sisältöä.
Etsi HTML-koodistasi vieritettävä säilö (esim.
<div>- tai<section>-elementti, jonka CSS:ssä onoverflow: autotaioverflow: scroll).Etsi vieritettävästä elementistä
tabindex-attribuutti tai lisää se.Aseta
tabindex="0", jotta vieritettävä alue voidaan kohdistaa näppäimistöllä.
Esimerkki
<!-- Incorrect -->
<div style="overflow: auto; height: 200px;">
<p>This content cannot be scrolled using the keyboard.</p>
</div>
<!-- Correct -->
<div style="overflow: auto; height: 200px;" tabindex="0">
<p>This content can now be scrolled using the keyboard.</p>
</div>Saavutettamattomien upotettujen kehysten korjaaminen
Upotetuissa kehyksissä ei pidä käyttää negatiivisia tabindex-arvoja, koska se estää näppäimistökäyttäjiä pääsemästä niihin.
Etsi HTML-koodistasi upotetun kehyksen (
<iframe>) elementti.Etsi
<iframe>-elementistätabindex-attribuutti.Poista kaikki negatiiviset tabindex-arvot (esim.
tabindex="-1") ja korvaa ne arvollatabindex="0", jotta kehys on käytettävissä näppäimistöllä.
Esimerkki
<!-- Incorrect -->
<iframe src="video.html" tabindex="-1"></iframe>
<!-- Correct -->
<iframe src="video.html" tabindex="0"></iframe>2.2.1 Ajoituksen säädettävyys
Käyttäjän hallitsemien ajastettujen sisältömuutosten korjaaminen
Jotta saavutettavuus käyttäjille varmistetaan, automaattisesti päivittyvän sisällön on oltava käyttäjän hallittavissa tai siitä on ilmoitettava riittävästi, jotta he voivat säätää päivitysnopeutta.
Etsi HTML-koodistasi
<meta>-elementti<body>-elementin sisältä.
Huomautus: Jos<meta>-elementtiä ei ole, lisää uusi<meta>-tunniste.Lisää
http-equiv="refresh"-attribuutti<meta>-elementtiin.Jos
<meta>-elementti on olemassa mutta päivitysaika on liian lyhyt, muutacontent-attribuutti pidemmäksi päivitysväliksi (esim.content="72000").
Esimerkki
<!-- Incorrect -->
<meta http-equiv="refresh" content="5">
<!-- Correct -->
<meta http-equiv="refresh" content="72000">2.2.2 Tauko, pysäytys, piilotus
Vanhentuneiden tunnisteiden korjaaminen sisällössä
Nykyaikaisten ja saavutettavien verkkokäytäntöjen edistämiseksi vältä vanhentuneiden HTML-elementtien, kuten <blink> ja <marquee>, käyttöä, sillä monet avustavat teknologiat eivät tue niitä ja ne voivat aiheuttaa saavutettavuusongelmia.
Etsi HTML-koodistasi kaikki vanhentuneet tunnisteet, kuten
<blink>tai<marquee>.Korvaa
<blink>- tai<marquee>-tunniste saavutettavammalla vaihtoehdolla, kuten<span>-tunnisteella, ja käytä sopivaa CSS:ää animaatiota tai tyylittelyä varten.
Esimerkki
<!-- Incorrect -->
<blink>Registration ends soon!</blink>
<marquee>Scrolling announcement</marquee>
<!-- Correct -->
<span style="animation: blink-animation 1s infinite;">Registration ends soon!</span>
<div style="animation: scroll-left 10s linear infinite;">Scrolling announcement</div>2.4.1 Lohkojen ohitus
Puuttuvan ohitusmekanismin korjaaminen
”Siirry pääsisältöön” -linkki auttaa käyttäjiä ohittamaan toistuvat navigointielementit ja siirtymään suoraan sivun pääsisältöön.
Etsi HTML-koodistasi
<body>-elementti.Lisää heti avaavan
<body>-tunnisteen jälkeen<a>-tunniste ja käytähref-attribuuttia osoittamaan pääsisältöosioon (<main>-elementti). Tämä linkki antaa käyttäjille mahdollisuuden ohittaa navigoinnin ja siirtyä suoraan pääsisältöön.
Huomautus: Voit käyttää pääsisältöosioon viittaavaa tunnistetta (esim. id="main-content") helpon navigoinnin mahdollistamiseksi.
Esimerkki
<!-- Incorrect -->
<body>
<nav>...</nav>
<main id="main-content">...</main>
</body>
<!-- Correct -->
<body>
<a href="#main-content">Skip to main content</a>
<nav>...</nav>
<main id="main-content">...</main>
</body>2.4.2 Sivun otsikointi
Puuttuvien sivuotsikoiden korjaaminen
Kuvaava otsikko auttaa käyttäjiä ymmärtämään sivun tarkoituksen ja helpottaa navigointia, erityisesti ruudunlukijaa käyttäville.
Etsi HTML-koodistasi sivun
<head>-osio.Lisää
<title>-elementti<head>-elementin sisään.Kirjoita sivulle selkeä ja kuvaava otsikko
<title>-tunnisteen sisään.
Esimerkki
<!-- Incorrect -->
<head>
</head>
<!-- Correct -->
<head>
<title>Contact Us - YuJa Inc.</title>
</head>2.4.3 Kohdistusjärjestys
Näppäimistökäyttäjien on voitava siirtyä sisällön läpi selkeässä, loogisessa ja järkevässä järjestyksessä.
Virheellisen fokusjärjestyksen korjaaminen
Fokusjärjestys varmistaa, että vuorovaikutteiset elementit ovat näppäimistön käyttäjien selattavissa loogisessa ja intuitiivisessa järjestyksessä.
Etsi HTML-koodistasi merkitty vuorovaikutteinen elementti (esim.
<a>,<button>,<input>jne.).Tarkista sen järjestys HTML-koodissa ja varmista, että se noudattaa loogista järjestystä sivun tai osion yläosasta alaosaan ohittamatta mitään tärkeitä elementtejä. Lue lisää fokusjärjestyksestä.
Huomautus:
Jos jokin elementti ei ole halutussa fokusjärjestyksessä, muuta niiden
tabindex-arvoja, jotta fokusjärjestys on oikea.Jos teet mukautetusta elementistä (kuten
<div>tai<span>) fokusoitavan, käytätabindex="0"-määritettä, jotta se sisältyy luonnolliseen sarkainjärjestykseen.
Esimerkki
<!-- Incorrect-->
<button>Start</button>
<input type="text" placeholder="First Name" tabindex="3">
<input type="text" placeholder="Last Name" tabindex="1">
<button>Submit</button>
<!-- Correct-->
<button>Start</button>
<input type="text" placeholder="First Name" tabindex="1">
<input type="text" placeholder="Last Name" tabindex="2">
<button>Submit</button>2.4.4 Linkin tarkoitus (kontekstissa)
Jokaisen linkin tarkoituksen on oltava selvä joko itse linkkitekstistä tai sen ympärillä olevista tiedoista.
Puuttuvien linkkikuvausten korjaaminen
Jokaisen linkin on kuvattava selkeästi tarkoituksensa, jotta käyttäjät ymmärtävät, mitä tapahtuu, kun he aktivoivat sen.
Etsi HTML-koodistasi linkkinä käytettävä elementti (esim.
<a>,<input>tai<button>, jolla on linkkitoiminto).Korvaa epämääräinen linkkiteksti (esim. ”Napsauta tästä” tai ”Lisää”) lyhyellä, kuvaavalla tekstillä, joka selittää kohteen tai toiminnon.
Huomautus: Jos linkki käyttää kuvakkeita tai kuvia, lisää esteetön nimiaria-label- taititle-määritteellä.
Esimerkki
<!-- Incorrect -->
<a href="/reports">Report</a>
<!-- Correct -->
<a href="/reports">View quarterly reports</a>
2.4.5 Useita tapoja
Puuttuvien useiden navigointitapojen ongelman korjaaminen
Sivujen tulisi tarjota useampi kuin yksi tapa löytää sisältöä. Yleisiä vaihtoehtoja ovat navigointimaamerkit, hakutoiminto tai ”ohita navigointi” -linkki. Vähintään kahden tavan lisääminen helpottaa sivulla liikkumista eri tarpeita omaaville käyttäjille.
- Lisää HTML-koodiisi toinen tapa löytää sisältö jommallakummalla seuraavista tavoista:
-
-
Lisää navigointimaamerkki, joka tunnistaa pääasiallisen navigointialueen.
<nav> <ul> <li><a href="/home">Home</a></li> <li><a href="/courses">Courses</a></li> <li><a href="/contact">Contact</a></li> </ul> </nav> -
Lisää hakumaamerkki hakutoimintoon, jos sellainen on.
<form role="search"> <label for="search">Search</label> <input id="search" type="text" name="q"> <button type="submit">Go</button> </form> -
Lisää sivun yläosaan ”ohita navigointi” -linkki, jotta käyttäjät voivat ohittaa toistuvan sisällön.
<a href="#maincontent" class="skip-link">Skip to main content</a>
-
-
- Tallenna muutokset ja lataa sivu uudelleen.
2.4.6 Otsikot ja nimikkeet
Lomakekenttien puuttuvien nimikkeiden korjaaminen
Lomakekentät tarvitsevat kuvaavat nimikkeet, jotta käyttäjät ymmärtävät, mitä tietoja heiltä odotetaan.
Etsi HTML-koodistasi
<form>-elementti ja sen kentät (esim.<input>,<textarea>).Lisää jokaiselle kentälle sen eteen
<label>-elementti.Sisällytä
<label>-elementtiinfor=""-määrite, jonka arvo vastaa vastaavan lomakekentänid-arvoa.
Esimerkki
<!-- Incorrect -->
<input type="email" id="email" name="email" />
<!-- Correct -->
<label for="email">Email address</label> <input type="email" id="email" name="email" />rly reports</a>Nimeämättömien painikkeiden korjaaminen
Painikkeilla on oltava selkeät nimikkeet, jotka osoittavat, minkä toiminnon ne suorittavat. Esteettömät nimikkeet varmistavat, että ruudunlukijoita käyttävät ymmärtävät painikkeen tarkoituksen.
Etsi HTML-koodistasi
<button>-elementti.Lisää
<button>-elementtiinaria-label-määrite.Anna
aria-label-määritteessä lyhyt kuvaus, joka kertoo painikkeen tarkoituksen.
Esimerkki
<!-- Incorrect -->
<button>Close</button>
<!-- Correct -->
<button aria-label="Close window">Close</button>2.4.8 Sijainti
Puuttuvien sivun sijaintia ilmaisevien merkintöjen korjaaminen
Sivujen tulisi antaa käyttäjille keino ymmärtää sijaintinsa sivustolla tai sovelluksessa. Tämä voidaan toteuttaa lisäämällä murupolkuja, sivukartan linkkejä, nykyisen sivun ilmaisimia tai suhteellisia linkkejä.
- Etsi HTML-koodistasi kohta, jossa navigointielementit sijaitsevat tai sivun rakenne on määritetty (esim. elementit, jotka ovat
nav-,header-elementin sisällä tai sivunbody-elementin yläosan lähellä). - Lisää navigointielementteihisi sivun sijaintia ilmaiseva merkintä jommallakummalla seuraavista tavoista:
-
Murupolun lisääminen: Lisää
nav-elementti, jossa on järjestetty luettelo nykyiselle sivulle johtavasta polusta. Se on navigointiapu, joka näyttää käyttäjille reitin, jota pitkin he ovat päätyneet nykyiseen sijaintiinsa.<nav aria-label="Breadcrumb"> <ol> <li><a href="/home">Home</a></li> <li><a href="/courses">Courses</a></li> <li aria-current="page">Course Details</li> </ol> </nav> -
Sivukartan linkin lisääminen: Sijoita sivukartan linkki HTML-koodisi
footer-elementtiin.<footer> <a href="/sitemap">Sitemap</a> </footer> -
Nykyisen sivun ilmaisimen lisääminen: Etsi aktiivisen sivun
a-tunniste ja lisää siihenaria-current="page"-määrite.<nav> <ul> <li><a href="/home">Home</a></li> <li><a href="/about" aria-current="page">About</a></li> </ul> -
Suhteellisten linkkien lisääminen: Etsi HTML-koodisi
head-osio ja lisää siihenlink-elementit edellistä, seuraavaa tai ylätason sivua varten.<link rel="prev" href="/chapter-1"> <link rel="next" href="/chapter-3"> <link rel="up" href="/table-of-contents">
-
- Varmista, että vähintään yksi sijaintia ilmaiseva merkintä on olemassa.
- Tallenna muutokset ja lataa sivu uudelleen.
2.4.9 Linkin tarkoitus (vain linkki)
Linkin tarkoitukseen liittyvien ongelmien korjaaminen
Linkkien, joilla on sama esteetön nimi (linkkiteksti tai sen nimike aria-label), tulisi johtaa samaan kohteeseen. Jos kaksi linkkiä näyttää samalta mutta johtaa eri paikkoihin, käyttäjät voivat hämmentyä.
- Etsi HTML-koodistasi linkit, jotka on merkitty samasta linkkitekstistä tai aria-label-arvosta.
- Ratkaise ongelma jollakin alla olevista tavoista:
-
Jos linkkien tulisi osoittaa samaan kohteeseen, etsi linkkien
a-tunnisteet ja päivitä niidenhref-arvot samoiksi.<a href="/about">Read more</a> <a href="/about">Read more</a> -
Jos linkkien tulisi osoittaa eri kohteisiin, muuta linkkitekstiä tai
aria-label-arvoa niin, että se kuvaa selkeästi kunkin tarkoituksen.<a href="/about">Read more about us</a> <a href="/contact">Read more about contacting us</a>
-
- Tallenna muutokset ja lataa sivu uudelleen.
2.4.10 Osioiden otsikot
Puuttuvien sivuotsikoiden korjaaminen
Otsikot auttavat käyttäjiä ymmärtämään sivun rakenteen. Ilman asianmukaisesti jäsenneltyjä otsikoita avustavaa tekniikkaa käyttävien voi olla vaikea liikkua sisällössä ja ymmärtää sitä.
- Etsi HTML-koodistasi sivun pääsisältöalue (esim.
body). -
Lisää otsikkoelementit, jotka kuvaavat sivun pääaihetta.
Huomautus: Jokaisen sivun tulisi alkaa vähintään yhdelläh1-elementillä. Jos sivulla on useita osioita, lisää alaotsikot (esim.h2,h3,h4)<h1>Course Overview</h1> <h2>Course Objectives</h2> <h2>Course Materials</h2> <h3>Required Readings</h3> <h3>Optional Resources</h3> - Varmista, että vähintään yksi otsikko on olemassa ja että otsikot muodostavat selkeän jäsennyksen sivun sisällöstä.
- Tallenna muutokset ja lataa sivu uudelleen.
Puuttuvien osioiden otsikoiden korjaaminen
Jokaisen section-elementin tulisi sisältää otsikko, joka kuvaa sen tarkoitusta. Ilman otsikkoa käyttäjät eivät välttämättä ymmärrä osion sisältöä tai tehtävää.
- Etsi HTML-koodistasi merkitty
section-elementti. - Lisää
h2-elementtisection-elementin ensimmäiseksi lapsielementiksi.
Huomautus: Otsikon taso voi riippua sivusi otsikkorakenteesta. -
Sisällytä
h2-elementtiin osiosi otsikko.<section> <h2>Advanced Accessibility</h2> <p>This course covers advanced topics in accessibility.</p> </section> - Tallenna muutokset ja lataa sivu uudelleen.
2.5.3 Nimike nimessä
Esteettömän nimen ja näkyvän nimikkeen epäsuhdan korjaaminen
Varmista, että vuorovaikutteisten elementtien esteetön nimi vastaa niiden näkyvää nimikettä, jotta vältetään sekaannus ja varmistetaan selkeys avustavia tekniikoita käyttäville.
Etsi HTML-koodistasi vuorovaikutteinen elementti (esim.
button,div), jolla onaria-label-määrite.Korvaa elementin sisältö samalla tekstillä, jota käytetään
aria-label-määritteessä.
Esimerkki
<!-- Incorrect -->
<button aria-label="Submit Form">Send</button>
<!-- Correct -->
<button aria-label="Submit Form">Submit Form</button>2.5.5 Kohteen koko
Riittämättömän vuorovaikutteisen elementin koon korjaaminen
Vuorovaikutteisten elementtien, kuten painikkeiden, linkkien ja lomakeohjausten, on oltava riittävän suuria, jotta käyttäjät voivat käyttää niitä helposti hiirellä tai näppäimistöllä.
Etsi HTML-koodistasi vuorovaikutteinen elementti (esim.
button,input,textarea).Etsi elementistäsi
width- jaheight-määritteet.Säädä
width- jaheight-määritteitä niin, että elementin koko on vähintään 44px × 44px (esim.width: 44px; height: 44px).
Esimerkki
<!-- Incorrect -->
<button style="width: 16px; height: 16px;">More Infomation</button>
<!-- Correct -->
<button style="width: 44px; height: 44px;">More Information</button>2.5.8 Kohteen koko (vähimmäiskoko)
Pienen kosketuskohteen koon korjaaminen
Kosketuskohteiden, kuten painikkeiden, linkkien tai muiden vuorovaikutteisten elementtien, on oltava riittävän suuria, jotta kosketusnäyttölaitteiden käyttäjät voivat napauttaa niitä helposti.
Etsi HTML-koodistasi vuorovaikutteinen elementti (esim.
button,input,textarea).Etsi elementistäsi
width- jaheight-määritteet.Säädä
width- jaheight-määritteitä niin, että elementin koko on vähintään 24px × 24px (esim.width: 24px; height: 24px).
Esimerkki
<!-- Incorrect -->
<button style="width: 16px; height: 16px;">Infomation</button>
<!-- Correct -->
<button style="width: 24px; height: 24px;">Infomation</button>3.1.1 Sivun kieli
Puuttuvan kielimäärityksen korjaaminen
Jokaisen verkkosivun on määritettävä kieli, jolla se on kirjoitettu, jotta avustavat tekniikat, kuten ruudunlukijat, voivat lukea sisällön oikein.
Etsi HTML-koodistasi
<html>-elementti.Lisää
<html>-elementtiinlang-määrite ja anna arvo, joka vastaa sivun oikeaa kieltä (esim.lang="en"englannille,lang="es"espanjalle).
Esimerkki
<!-- Incorrect --> <html> <!-- Correct --> <html lang="en">
Ristiriitaisen ilmoitetun kielen korjaaminen
Sivun ilmoitetun kielen on vastattava sisällössä käytettyä todellista kieltä, jotta avustavat tekniikat voivat tulkita ja esittää sisällön oikein.
Etsi HTML-koodistasi
<html>-elementti.Etsi
<html>-elementistälang- jaxml:lang-määritteet.Aseta
lang- jaxml:lang-määritteiden arvoksi sama kelvollinen kielikoodi, joka vastaa sisällössäsi käytettyä kieltä.
Esimerkki
<!-- Incorrect --> <html lang="fr" xml:lang="en"> <!-- Correct --> <html lang="en" xml:lang="en">
3.1.2 Osien kieli
Virheellisen lang-määritteen arvon korjaaminen
Jos verkkosivusi osat ovat eri kielellä, sinun on ilmoitettava muutoksesta avustaville tekniikoille, kuten ruudunlukijoille. Tämä auttaa näitä työkaluja käyttäviä ymmärtämään sisällön oikealla kielellä.
Etsi HTML-koodistasi sisältöelementti (esim.
<p>,<span>,<div>), jossa virheellinenlang-määrite on merkitty.Päivitä
lang-määritteeseen kelvollinen arvo, joka vastaa oikeaa kieltä (esim.lang="en"englannille,lang="es"espanjalle).
Esimerkki
<!-- Incorrect -->
<p lang="espanol-spain">Este es un párrafo en español.</p> <!-- Correct --> <p lang="es">Este es un párrafo en español.</p>
3.2.2 Syötettäessä
Puuttuvien lähetyspainikkeiden korjaaminen
Lomakkeilla on oltava selkeä laukaisin, jotta käyttäjät, erityisesti näppäimistöä tai ruudunlukijaa käyttävät, voivat lähettää tiedot onnistuneesti. Toimintojen tulisi tapahtua vain, kun käyttäjä aktivoi lähetyselementin tarkoituksella.
Etsi HTML-koodistasi
<form>-elementti.Lisää
form-elementin sisään<button type="submit">tai<input type="submit">ennen sulkevaa</form>-tunnistetta, jos se puuttuu.Käytä selkeästi nimettyä lähetyspainiketta, joka lähettää lomakkeen vain, kun sitä napsautetaan tai Enter-näppäintä painetaan (esim.
<button type="submit">Submit</button>).
Esimerkki
<!-- Incorrect --> <form action="/submit" method="post">
<input type="text" name="name" required>
</form> <!-- Correct -->
<form action="/submit" method="post">
<input type="text" name="name" required>
<button type="submit">Submit</button>
</form>
3.2.4 Yhdenmukainen tunnistaminen
Epäkuvaavan linkkitekstin korjaaminen
Linkeillä on oltava teksti, joka kuvaa selkeästi niiden tarkoituksen tai kohteen.
Etsi HTML-koodistasi
<a>-elementti, jonka teksti on epämääräinen tai yleinen, kuten ”napsauta tästä”.Korvaa
<a>-tunnisteiden välinen teksti kuvaavalla linkkitekstillä, joka selittää kohteen tai tarkoituksen.
Esimerkki
<!-- Incorrect --> <a href="/report">Click here</a> <!-- Correct --> <a href="/report">View Annual Report</a>
3.2.5 Muutos pyynnöstä
Käyttäjien informoiminen uusista välilehdistä
Jos linkki avautuu uudelle välilehdelle tai uuteen ikkunaan, käyttäjille tulisi kertoa siitä selvästi. Tämä auttaa ehkäisemään sekaannusta erityisesti ruudunlukijaa tai näppäimistönavigointia käyttävien kohdalla, kun oikea odotus on määritelty.
Etsi HTML-koodistasi
<a>-elementti, jolla ontarget="_blank"-määrite.Lisää
aria-labeltai päivitä näkyvää tekstiä niin, että se sisältää tekstin ”(avautuu uudelle välilehdelle)”.
Esimerkki
<!-- Incorrect --> <a href="https://example.com" target="_blank">Visit Example</a> <!-- Correct --> <a href="https://example.com" target="_blank" aria-label="Visit Example (opens in a new tab)">Visit Example</a>
3.3.1 Virheen tunnistaminen
Syöttökenttien virhekuvausten merkitseminen atomisiksi
Kun lomakevirheet ilmoitetaan live-alueella, jossa on aria-live="assertive", sen on sisällettävä myös aria-atomic="true". Tämä varmistaa, että koko virheilmoitus luetaan ruudunlukijoiden käyttäjille ääneen.
Etsi HTML-koodistasi elementti, jossa on
aria-live="assertive"ja jota käytetään virheilmoitusten ilmoittamiseen.Lisää samaan elementtiin
aria-atomic="true"-määrite.
Esimerkki
<!-- Incorrect --> <label for="email">Email</label> <input type="email" id="email" name="email" required> <div id="email-error" aria-live="assertive"> Please enter a valid email address. </div> <!-- Correct --> <label for="email">Email</label> <input type="email" id="email" name="email" required> <div id="email-error" aria-live="assertive" aria-atomic="true"> Please enter a valid email address. </div>
3.3.2 Syöttökentän nimike
Epäselvän syöttökentän nimiön korjaaminen
Lomakkeen syöttökentillä on oltava saavutettavat nimet, jotta käyttäjät, myös ruudunlukijaa käyttävät, tietävät, mitä tietoja kentässä pyydetään. Ilman nimiötä tai aria-labelia syöttökentän tarkoitus jää epäselväksi.
- Etsi HTML-koodista merkitty
input-elementti. -
Lisää elementtiin
aria-label-attribuutti, joka antaa syöttökentälle saavutettavan nimen.<input type="text" aria-label="First Name"> - Tallenna muutokset ja lataa sivu uudelleen.
4.1.2 Nimi, rooli, arvo
Käyttöliittymäelementtien on ilmoitettava nimensä, tarkoituksensa ja nykyinen arvonsa, jotta avustavat teknologiat voivat ymmärtää ne ja toimia niiden kanssa.
Puuttuvien saavutettavien nimien korjaaminen käyttöliittymäelementeissä
Kaikilla painikkeilla, syöttökentillä ja muilla vuorovaikutteisilla elementeillä on oltava saavutettavat nimet, jotta ruudunlukijat voivat kertoa, mitä kukin kohde tekee.
Etsi HTML-koodista käyttöliittymäkomponentit, kuten
<input>,<button>,<select>tai muut napsautettavat elementit.Lisää komponenttiin saavutettava nimi jollakin seuraavista tavoista:
Lisää
<label>-elementti, jonkafor-attribuutti on linkitetty elementinid-attribuuttiin (esim.<label for="username">Username</label>).Käytä
aria-label-attribuuttia kuvaamaan elementti suoraan (esim.aria-label="Search this site").Käytä
aria-labelledby-attribuuttia viittaamaan toiseen elementtiin, joka sisältää nimen (esim.aria-labelledby="search-label").
Esimerkki
<!-- Incorrect --> <input type="text" id="username" name="username"> <!-- Correct --> <input type="text" id="username" name="username" aria-label="Username">
Puuttuvien saavutettavien nimien korjaaminen linkeissä
Linkeillä tulisi olla saavutettavat nimet, jotka kuvaavat niiden kohdetta tai toimintoa.
Etsi HTML-koodista
<a>-elementti.Lisää
<a>-elementtiintitle- taiaria-label-attribuutti, joka kuvaa selkeästi, minne linkki johtaa tai mitä se tekee.
Esimerkki
<!-- Incorrect --> <a href="/downloads/report.pdf">Download Report</a> <!-- Correct --> <a href="/downloads/report.pdf" title="Download the 2024 Annual Report">Download Report</a>
Puuttuvien saavutettavien nimien korjaaminen painikkeissa
Painikkeilla on oltava selkeät nimiöt, jotka osoittavat, mitä toimintoa ne suorittavat. Saavutettavat nimiöt varmistavat, että ruudunlukijaa käyttävät käyttäjät ymmärtävät painikkeen tarkoituksen.
-
Etsi HTML-koodista
<button>-elementti. - Lisää
<button>-elementtiinaria-label-attribuutti. - Kirjoita
aria-label-attribuuttiin lyhyt kuvaus, joka kertoo selkeästi painikkeen tarkoituksen.
Esimerkki
<!-- Incorrect --> <button>×</button> <!-- Correct --> <button aria-label="Close window">×</button>
Sisäkkäisten vuorovaikutteisten ohjausobjektien korjaaminen
Vuorovaikutteisia ohjausobjekteja ei saa sijoittaa toisten vuorovaikutteisten elementtien sisään. Ohjausobjektien sisäkkäisyys (esim. <button> linkin sisällä, <a> elementin <button> sisällä) voi hämmentää avustavien teknologioiden käyttäjiä ja aiheuttaa odottamatonta tai toimimatonta näppäimistön ja ruudunlukijan toimintaa.
- Etsi HTML-koodista vuorovaikutteinen ohjausobjekti, joka on sijoitettu toisen vuorovaikutteisen ohjausobjektin sisään (esim.
<button>,<a>,<input>). - Päivitä HTML-koodi niin, että jokainen vuorovaikutteinen elementti on erillinen ja suorittaa vain yhden toiminnon.
Esimerkki
<!-- Incorrect --> <a href="/profile"> <button>View Profile</button> </a> <!-- Correct --> <a href="/profile">View Profile</a>
Puuttuvien saavutettavien nimien korjaaminen <iframe>-elementeissä
<iframe>-elementeillä on oltava selkeä, kuvaava ja saavutettava nimi, jotta ruudunlukijoiden käyttäjät ymmärtävät, mitä sisältöä upotettu kehys sisältää. Ilman nimiötä avustavat teknologiat saattavat ilmoittaa vain ”frame” tai ”iframe”, mikä ei anna mitään hyödyllistä asiayhteyttä.
- Etsi HTML-koodista
<iframe>-elementti. -
Lisää saavutettava nimi jollakin seuraavista tavoista:
title-attribuutti (yleisin ja suositeltu).aria-label- taiaria-labelledby-attribuutti, joka viittaa sivulla näkyvään tekstiin.
- Varmista, että nimiö kuvaa selkeästi upotetun kehyksen tarkoituksen tai sisällön.
- Pidä kuvaus lyhyenä mutta merkityksellisenä, jotta käyttäjät tietävät, mitä odottaa.
Esimerkki
<!-- Incorrect --> <iframe src="https://yuja.com/map"></iframe> <!-- Correct --> <iframe src="https://yuja.com/map" title="Map showing our office location"></iframe>
ARIA-saavutettavuusongelmat
Puuttuvien saavutettavien nimien korjaaminen linkeissä
Linkeillä tulisi olla saavutettavat nimet, jotka kuvaavat niiden kohdetta tai toimintoa.
Etsi HTML-koodista
<a>-elementti.Lisää
<a>-elementtiintitle- taiaria-label-attribuutti, joka kuvaa selkeästi, minne linkki johtaa tai mitä se tekee.
Esimerkki
<!-- Incorrect --> <a href="/downloads/report.pdf">Download Report</a> <!-- Correct --> <a href="/downloads/report.pdf" title="Download the 2024 Annual Report">Download Report</a>
Virheellisten ARIA-attribuuttien poistaminen
ARIA-attribuutteja saa käyttää vain tietyissä rooleissa tai HTML-elementeissä. Jos ARIA-attribuuttia käytetään paikassa, jossa se ei ole sallittu, se ei toimi oikein ja voi hämmentää käyttäjiä.
Etsi HTML-koodista elementti, jossa on virheellisiä ARIA-attribuutteja (esim.
aria-liveelementissä<button>,aria-expandedelementissä<div>).Poista virheelliset ARIA-attribuutit tai lisää oikea role-attribuutti, joka vastaa ARIA-attribuuttia.
Esimerkki
<!-- Incorrect --> <div aria-checked="true">Option 1</div> <!-- Correct --> <div role="checkbox" aria-checked="true">Option 1</div>
Virheellisten ARIA-roolien korjaaminen
Elementtien roolin määrittämiseen tulee käyttää vain kelvollisia ARIA-rooleja.
Etsi HTML-koodista minkä tahansa elementin
role-attribuutti.Korvaa virheellinen roolin arvo kelvollisella ARIA-roolilla, joka on määritetty ARIA-spesifikaatiossa.
Esimerkki
<!-- Incorrect --> <div role="navigationbar">Main Menu</div> <!-- Correct --> <div role="navigation">Main Menu</div>
Pistekirjoitusominaisuuksien puuttuvan saavutettavan nimen korjaaminen
Kun pistekirjoitusominaisuuksia käytetään, niillä on oltava vastaava saavutettava nimi, jonka avustavat teknologiat ymmärtävät.
Etsi HTML-koodista elementti, jossa on
aria-braillelabel- taiaria-brailleroledescription-attribuutti.Lisää elementtiin
aria-label, joka vastaa pistekirjoitusnimiön merkitystä.
Esimerkki
<!-- Incorrect --> <div aria-braillelabel="Submit Button"></div> <!-- Correct --> <div aria-braillelabel="Submit Button" aria-label="Submit"></div>
Ehdollisesti virheellisten ARIA-attribuuttien korjaaminen
ARIA-attribuutteja tulee käyttää vain silloin, kun elementin roolin yhteys sitä edellyttää. Kun attribuutti tarvitaan, sitä tulee käyttää oikein, jotta saavutettavuus toteutuu tarkasti.
Etsi HTML-koodista elementti, jossa on merkitty ARIA-attribuutti (esim.
aria-expanded,aria-checked).Etsi elementin
role-attribuutti (esim.role="button",role="checkbox").Tarkista ARIA-roolien spesifikaatiosta, vaaditaanko attribuutti kyseiselle roolille.
Poista elementin roolille virheellinen attribuutti.
Huomautus: Jos attribuutti vaaditaan, varmista, että attribuutin arvo on oikea.
Esimerkki
<!-- Incorrect --> <p aria-expanded="true">Click here for more details on the product.</p> <!-- Correct --> <p>Click here for more details on the product.</p>
Vanhentuneiden ARIA-roolien käytön korjaaminen
Vanhentuneet ARIA-roolit tulee korvata päivitetyillä rooleilla saavutettavuusstandardien noudattamiseksi.
Etsi HTML-koodista elementti, jossa on vanhentunut ARIA-rooli (esim.
role="presentation",role="toolbar").Korvaa vanhentunut rooli kelvollisella ARIA-roolilla, joka sopii paremmin elementin tarkoitukseen (esim.
role="none",role="navigation").
Esimerkki
<!-- Incorrect --> <div role="toolbar"> <button>Save</button> <button>Cancel</button> </div> <!-- Correct --> <div role="navigation"> <button>Save</button> <button>Cancel</button> </div>
Virheellisten ARIA-valintaikkunoiden korjaaminen
Valintaikkunaelementeillä tulee olla kelvollinen saavutettava nimi, jotta ne kuvataan oikein avustaville teknologioille.
Etsi HTML-koodista elementti, jossa on
role="dialog"tairole="alertdialog"(esim.<div role="dialog">).Lisää elementtiin
aria-label- taiaria-labelledby-attribuutti ja anna valintaikkunalle saavutettava nimi.
Esimerkki
<!-- Incorrect --> <div role="dialog"> <h2>Unsaved Changes</h2> <p>You have unsaved changes. Are you sure you want to leave?</p> </div> <!-- Correct --> <div role="dialog" aria-label="Unsaved Changes"> <h2>Unsaved Chages</h2> <p>You have unsaved changes. Are you sure you want to leave?</p> </div>
Piilotetun body-elementin korjaaminen
Varmista, että body-elementtiä ei ole virheellisesti piilotettu avustavilta teknologioilta.
Etsi HTML-koodista
<body>-elementti.Poista kaikki
aria-hidden="true"-attribuutit<body>-elementistä, jotta sisältö pysyy saavutettavana.
Esimerkki
<!-- Incorrect --> <body aria-hidden="true"> <h1>Welcome to Our Website</h1> <p>Explore our features and services.</p> </body> <!-- Correct --> <body> <h1>Welcome to Our Website</h1> <p>Explore our features and services.</p> </body>
Puuttuvien saavutettavien nimien korjaaminen syöttökentissä
Syöttökentillä tulisi olla saavutettava nimi, joka kuvaa niiden tarkoituksen käyttäjille.
Etsi HTML-koodista syöttökentän elementti (esim.
<input>,<select>,<textarea>).Lisää elementtiin
aria-label- taiaria-labelledby-attribuutti, jotta syöttökentällä on saavutettava nimi.
Esimerkki
<!-- Incorrect --> <input type="text" name="email"> <!-- Correct --> <input type="text" name="email" aria-label="Email address">
Kiellettyjen ARIA-attribuuttien käytön korjaaminen
Jotkin ARIA-attribuutit eivät ole sallittuja tietyissä elementeissä, koska ne voivat hämmentää ruudunlukijoita tai aiheuttaa saavutettavuusongelmia.
Etsi HTML-koodista elementti, jossa on kielletty ARIA-attribuutti (esim.
aria-pressedei-vuorovaikutteisessa elementissä).Poista kielletty ARIA-attribuutti elementistä.
Esimerkki
<!-- Incorrect --> <div aria-pressed="true"> <span>Save changes</span> </div> <!-- Correct --> <div> <span>Save changes</span> </div>
Puuttuvien pakollisten ARIA-attribuuttien korjaaminen
Jotkin ARIA-roolit tarvitsevat tiettyjä attribuutteja kertoakseen tarkoituksensa avustaville teknologioille. Jos nämä attribuutit puuttuvat, ruudunlukijoihin tukeutuvat käyttäjät eivät ehkä ymmärrä, miten elementti toimii. Lue lisää siitä, mitkä ARIA-attribuutit kullekin roolille vaaditaan.
Etsi HTML-koodista elementti, jossa on merkitty ARIA-rooli (esim.
role="checkbox",role="slider",role="progressbar").Tunnista kyseisen roolin puuttuva pakollinen ARIA-attribuutti (esim.
aria-checked,aria-valuenow,aria-valuemin).Lisää puuttuva ARIA-attribuutti sopivalla arvolla, joka kuvaa elementin tilaa tai toimintaa.
Esimerkki
<!-- Incorrect --> <div role="slider" tabindex="0"></div> <!-- Correct --> <div role="slider" aria-valuemin="0" aria-valuemax="100" aria-valuenow="50" tabindex="0"></div>
Puuttuvien pakollisten ARIA-alielementtien korjaaminen
Jotkin ylätason roolit edellyttävät tiettyjä alatason rooleja, jotta saavutettavuus toteutuu oikein. Jos nämä puuttuvat, ruudunlukijat eivät ehkä pysty tulkitsemaan rakennetta oikein. Lue lisää ARIA-roolien luettelosta.
Etsi HTML-koodista yläelementti, jonka rooli edellyttää tiettyjä alielementtejä (esim.
role="list"-elementin on sisällettävä alielementtejä, joilla onrole="listitem").Lisää tarvittava alielementti sopivilla
role-attribuuteilla.
Esimerkki
<!-- Incorrect --> <div role="list"> <div>First Name</div> <div>Last Name</div> </div> <!-- Correct --> <div role="list"> <div role="listitem">First Name</div> <div role="listitem">Last Name</div> </div>
Puuttuvan pakollisen ARIA-yläelementin korjaaminen
Jotkin ARIA-roolit on sijoitettava tietyn ylätason roolin sisään, jotta semanttinen merkitys säilyy. Ilman oikeaa yläelementtiä avustavat teknologiat eivät ehkä tulkitse elementtiä oikein. Lue lisää ARIA-roolien luettelosta.
Etsi HTML-koodista elementti, jonka rooli edellyttää tiettyä yläelementtiä (esim.
role="row"tulee sijoittaa elementinrole="table"tairole="rowgroup"sisään).Lisää tarvittava yläelementti sopivilla
role-attribuuteilla.
Esimerkki
<!-- Incorrect --> <div role="row"> <div role="cell">User Name</div> </div> <!-- Correct --> <div role="table"> <div role="row"> <div role="cell">User Name</div> </div> </div>
Virheellisen ARIA-roolin käytön korjaaminen
Virheellisiä ARIA-rooleja ei ole ARIA-spesifikaatiossa, ja avustavat teknologiat ohittavat ne, mikä voi tehdä sisällöstäsi vaikeammin ymmärrettävää tai selattavaa. Lue lisää ARIA-roolien luettelosta.
Etsi HTML-koodista elementti, jossa on virheellinen roolin arvo (esim.
role="unsupportedrole",role="presentation").Korvaa
role-attribuutti kelvollisella roolilla elementin toiminnon perusteella.
Esimerkki
<!-- Incorrect --> <div role="structure"> Content about accessibility. </div> <!-- Correct --> <div role="region" aria-label="Accessibility Info"> Content about accessibility. </div>
Abstraktien ARIA-roolien käytön korjaaminen
Abstrakteja ARIA-rooleja ei ole tarkoitettu käytettäväksi suoraan koodissa. Ne on olemassa vain määrittämään muiden roolien yhteisiä ominaisuuksia, eikä niiden käyttö vaikuta avustaviin teknologioihin. Lue lisää ARIA-roolien luettelosta.
Etsi HTML-koodista elementti, jossa käytetään abstraktia ARIA-roolia (esim.
role="input",role="command",role="widget").Korvaa
role-attribuutti konkreettisella roolilla, joka kuvastaa elementin todellista tarkoitusta.
Esimerkki
<!-- Incorrect --> <div role="command">Run</div> <!-- Correct --> <div role="button">Run</div>
Ei-tuettujen ARIA-roolien käytön korjaaminen
ARIA-spesifikaatio ei tunnista ei-tuettuja ARIA-rooleja, eivätkä ne välttämättä toimi oikein eri selaimissa tai ruudunlukijoissa. Tämä voi johtaa sekaannukseen tai sisällön ohittamiseen. Lue lisää ARIA-roolien luettelosta.
Etsi HTML-koodista elementti, jossa on ei-tuettu ARIA-rooli (esim.
role="footnote",role="banneritem",role="error").Korvaa
role-attribuutti tuetulla ARIA-roolilla, joka kuvastaa elementin tarkoitusta.
Esimerkki
<!-- Incorrect -->
<span role="error">Invalid input</span>
<!-- Correct -->
<span role="alert">Invalid input</span>
Virheellisen ARIA-roolikuvauksen käytön korjaaminen
Virheellinen mukautettu roolikuvaus voi hämmentää avustavia teknologioita ja käyttäjiä. Sitä tulee käyttää vain silloin, kun oletusroolin kuvaus halutaan korvata merkityksellisemmällä.
Etsi HTML-koodista elementti, jossa on virheellinen
aria-roledescription.Poista
aria-roledescriptiontai korvaa se täsmälliselläaria-label-attribuutilla.
Esimerkki:
<!-- Incorrect -->
<div role="button" aria-roledescription="Clicky thing">Submit</div>
<!-- Correct -->
<div role="button" aria-label="Submit Form">Submit</div>
Vaihtoelementtien puuttuvan saavutettavan nimen korjaaminen
Vaihtoelementit, kuten valintaruudut, valintapainikkeet ja kytkimet, tarvitsevat selkeät nimet, jotta ruudunlukijat voivat kuvata niiden tilan ja toiminnon.
Etsi HTML-koodista vaihtoelementti, jolla ei ole saavutettavaa nimeä (esim.
role="checkbox",role="radio",role="switch").Lisää saavutettava nimi
aria-label- taiaria-labelledby-attribuutilla.
Esimerkki
<!-- Incorrect -->
<div role="switch"></div>
<!-- Correct -->
<div role="switch" aria-label="Dark mode toggle"></div>Virheellisten ARIA-attribuuttien arvojen korjaaminen
ARIA-attribuuttien arvojen on oltava tiettyjä. Väärän arvon käyttö voi hämmentää avustavia teknologioita ja aiheuttaa saavutettavuusongelmia. Lue lisää ARIA-arvoista.
Etsi HTML-koodista elementti, jossa on virheellinen ARIA-arvo (esim.
aria-expanded="perhaps",aria-checked="maybe").Korvaa virheellinen arvo ARIA-spesifikaation sallimalla arvolla.
Esimerkki
<!-- Incorrect -->
<input type="checkbox" aria-checked="sometimes">
<!-- Correct -->
<input type="checkbox" aria-checked="true">Virheellisten aria-level-arvojen korjaaminen
aria-level-attribuutin on oltava positiivinen kokonaisluku, joka alkaa luvusta 1. Sitä käytetään otsikkoroolin sisältävissä elementeissä ilmaisemaan niiden taso dokumentin rakenteessa.
Etsi HTML-koodistasi kaikki
aria-level-attribuutin käytöt, joissa arvo on 0, negatiivinen luku tai muu kuin kokonaisluku (esim.aria-level="zero",aria-level="0",aria-level="-1")Korvaa arvo positiivisella kokonaisluvulla (1 tai suurempi).
Huomautus: Käytä aria-level-attribuuttia vain elementeissä, joilla on role="heading". Jos elementillä ei ole otsikkoroolia, poista attribuutti.
Esimerkki
<!-- Incorrect -->
<div role="heading" aria-level="zero">Title</div>
<!-- Correct -->
<div role="heading" aria-level="1">Title</div>Virheellisten ARIA-attribuuttien korjaaminen
Jotkin ARIA-attribuutit voivat olla kirjoitettu väärin tai niitä on käytetty väärässä paikassa. Nämä attribuutit eivät toimi ja voivat johtaa avustavia teknologioita harhaan. Lue lisää ARIA-attribuuteista.
Etsi HTML-koodistasi elementti, jossa on virheellinen tai väärin kirjoitettu ARIA-attribuutti (esim.
aria-unchecked,aria-visible,aria-foo).Poista virheellinen ARIA-attribuutti tai korvaa se kelvollisella.
Esimerkki
<!-- Incorrect -->
<button aria-unchecked="true">Submit</button>
<!-- Correct -->
<button aria-pressed="false">Submit</button>
Presentation-roolia käyttävien fokusoitavien elementtien korjaaminen
Presentation-roolin sisältävät elementit on tarkoitettu ruudunlukuohjelmien ohitettaviksi. Kun nämä elementit ovat fokusoitavia, presentation-rooli voi hämmentää ruudunlukuohjelmia.
Etsi HTML-koodistasi kaikki fokusoitavat elementit, joilla on
role="presentation"tairole="none"(esim. elementit, joilla ontabindex="0", tai natiivisti fokusoitavat elementit, kuten<a>ja<button>).Poista presentation-rooli (
role="presentation"tairole="none"), jotta elementin interaktiivinen merkitys säilyy.
Huomautus: Jos elementtiä ei ole tarkoitettu interaktiiviseksi, poista sen sijaan fokusoitavat elementit, esimerkiksi poistamalla tabindex tai href-attribuutti.
Esimerkki
<!-- Incorrect -->
<a href="#" role="presentation">Link</a>
<!-- Correct -->
<a href="#">Link</a>Presentation-roolia käyttävien elementtien yleisten ARIA-attribuuttien korjaaminen
Presentation-roolin sisältävät elementit on tarkoitettu avustavien teknologioiden ohitettaviksi. Kun nämä elementit sisältävät sekä presentation-roolin että yleisiä ARIA-attribuutteja, ne voivat hämmentää ruudunlukuohjelmia.
Etsi HTML-koodistasi fokusoitava elementti, jossa on
role="presentation"tairole="none"ja joka sisältää myös yleisiä ARIA-attribuutteja, kutenaria-label,aria-describedbytaiaria-hidden.Poista presentation-rooli (
role="presentation"tairole="none"), jotta elementin interaktiivinen merkitys säilyy.
Huomautus: Jos elementtiä ei ole tarkoitettu interaktiiviseksi, poista sen sijaan ARIA-attribuutit.
Esimerkki
<!-- Incorrect -->
<div role="presentation" aria-label="Decorative container"></div>
<!-- Correct -->
<div aria-label="Decorative container"></div>p>Virheellisten tabindex-arvojen korjaaminen
Jos tabindex-arvona käytetään -1 tai 0, se voi virheellisesti häiritä näppäimistönavigoinnin kulkua ja vaikeuttaa käyttäjien liikkumista sisällössä.
Etsi HTML-koodistasi elementti, jossa on sopimaton
tabindex-arvo (esim.tabindex="-1",tabindex="0").Poista tabindex-arvo, jotta normaali näppäimistönavigointi palautuu.
Esimerkki
<!-- Incorrect -->
<h2 tabindex="-1">Header</h2>
<!-- Correct -->
<h2>Header</h2>Tarpeettomien ARIA-roolien korjaaminen
Jos elementti voi jo välittää natiivin merkityksensä, vastaavan ARIA-roolin lisääminen on tarpeetonta ja voi hämmentää avustavia teknologioita.
Etsi HTML-koodistasi elementti, jossa on tarpeeton rooli (esim.
<button role="button">,<a role="link">).Poista tarpeeton
role-attribuutti.
Esimerkki
<!-- Incorrect --> <button role="button">Save</button> <!-- Correct --> <button>Save</button>
Parhaat käytännöt
Hyvä saavutettavuus edellyttää yleisten koodaus- ja sisältöongelmien korjaamista, jotta selkeys, jäsennys ja käytettävyys paranevat kaikille käyttäjille. Parhaiden käytäntöjen soveltaminen auttaa luomaan sisältöä, joka on osallistavampaa ja käyttäjäystävällisempää.
Semanttista merkitystä vailla olevien visuaalisten tagien käytön korjaaminen
Käytä semanttisia tageja, kuten <strong> ja <em>, pelkästään visuaalisten tagien, kuten <b> ja <i>, sijaan, jotta avustavat teknologiat ymmärtävät tekstin tärkeyden tai painotuksen.
Etsi HTML-koodista
<b>-tagit ja korvaa ne<strong>-tageilla, jos teksti on tärkeää.Etsi HTML-koodista
<i>-tagit ja korvaa ne<em>-tageilla, jos tekstiä tulee painottaa.
Esimerkki
<!-- Incorrect -->
<p><b>Important:</b> Save your changes.</p>
<p><i>Note:</i> Restart required.</p>
<!-- Correct -->
<p><strong>Important:</strong> Save your changes.</p>
<p><em>Note:</em> Restart required.</p> Ei-yksilöllisten vaihtoehtoisten tekstien ongelmien korjaaminen
Kuvilla on oltava vaihtoehtoinen teksti (alt-teksti), joka kuvaa tarkasti niiden sisältöä. Jos kaksi kuvaa esittää eri sisältöä mutta niillä on sama alt-teksti, käyttäjät voivat johtua harhaan. Vastaavasti jos kaksi kuvaa käyttää samaa tiedostolähdettä mutta niillä on eri alt-teksti, syntyy epäjohdonmukaisuutta.
Etsi HTML-koodistasi
<img>-elementit, jotka on merkitty ei-yksilöllisen alt-tekstin ongelmasta.-
Jos kuvilla on eri lähteet (
src) mutta sama alt-teksti, päivitä alt-teksti niin, että jokainen kuvaus on yksilöllinen ja vastaa kuvan sisältöä.<img src="team-photo.jpg" alt="Team standing together outside office"> <img src="office.jpg" alt="Front view of office building"> -
Jos kuvilla on sama lähde (
src), varmista, että alt-teksti on yhdenmukainen kaikissa esiintymissä.<img src="logo.png" alt="Company logo"> <img src="logo.png" alt="Company logo"> Tallenna muutokset ja lataa sivu uudelleen.
Kuvien toistuvan alt-tekstin korjaaminen
Saman alt-tekstin käyttäminen useissa kuvissa voi hämmentää ruudunlukuohjelmien käyttäjiä. Jokaisella kuvalla tulisi olla yksilöllinen alt-attribuutti, joka kuvaa sen omaa sisältöä tai tarkoitusta.
Etsi HTML-koodistasi
<img>-elementti, jonkaalt-attribuutissa on sama vaihtoehtoinen kuvaus.Päivitä kuvan
alt-attribuutin kuvaus kuvaamaan sen omaa sisältöä.
Huomautus: Jos kuva on puhtaasti koristeellinen, käytä sen sijaan tyhjääalt-attribuuttia (alt="").
Esimerkki
<!-- Incorrect -->
<img src="math-icon.png" alt="Icon"> <img src="science-icon.png" alt="Icon">
<!-- Correct -->
<img src="math-icon.png" alt="Math icon showing a calculator"> <img src="history-icon.png" alt="History icon showing a scroll and feather pen">
Sisäkkäisten elementtien maamerkkiroolien korjaaminen
Maamerkkiroolit on tarkoitettu sivun pääalueiden tunnistamiseen. Niitä tulisi käyttää vain ylätason elementeissä saavutettavan navigoinnin tukemiseksi.
Etsi HTML-koodistasi elementti, jolla on maamerkkirooli (esim.
role="main",role="banner",role="navigation") ja joka on muiden rakenteellisten elementtien sisällä (esim.<div>,<section>tai<article>)Siirrä maamerkkirooli rakenteellisten elementtien ulkopuolelle ja sijoita se
<body>-tagin alle tai koodirakenteesi ylimmälle tasolle.
Esimerkki
<!-- Incorrect -->
<div class="article"> <section role="main">Content</section> </div>
<!-- Correct -->
<section role="main">Content</section>Päällekkäisten maamerkkialueiden korjaaminen
Maamerkit auttavat käyttäjiä navigoimaan määrittelemällä sivun rakenteen. Saman roolin käyttäminen useita kertoja ilman selkeää erottelua voi hämmentää avustavien teknologioiden käyttäjiä.
Etsi HTML-koodistasi elementti, jossa maamerkkirooleja on toistettu (esim.
role="navigation",role="main").Poista päällekkäinen maamerkki, jolla ei ole omaa erillistä tarkoitusta, tai vaihda maamerkkirooli sellaiseen, joka kuvaa paremmin osion tehtävää.
Huomautus: Jos tarvitaan useita samaa roolia käyttäviä maamerkkejä, lisää yksilöllinen nimike käyttämälläaria-label- taiaria-labelledby-attribuuttia, jotta ne erottuvat toisistaan.
Esimerkki
<!-- Incorrect -->
<nav role="navigation">Main links</nav> <nav role="navigation">Sidebar links</nav>
<!-- Correct -->
<nav role="navigation" aria-label="Main">Main links</nav> <nav role="navigation" aria-label="Sidebar">Sidebar links</nav>
Taulukon otsikoiden virheellisten scope-attribuuttien korjaaminen
Scope-attribuutti yhdistää taulukon otsikot tietosoluihin. Virheelliset arvot tai arvojen puuttuminen voivat vaikeuttaa taulukoiden tulkitsemista ruudunlukuohjelmien käyttäjille.
Etsi HTML-koodistasi
<th>-elementti, jonkascope-attribuutin arvo on virheellinen tai puuttuu.-
Korvaa tai lisää
scope-arvo otsikon tyypin mukaan:Käytä arvoa
scope="col"sarakeotsikoille.Käytä arvoa
scope="row"riviotsikoille.
Huomautus: Monitasoisille otsikoille käytä arvoa
rowgrouptaicolgroup, jos ryhmittely on tarpeen.
Esimerkki
<!-- Incorrect -->
<th scope="column">Course</th>
<!-- Correct -->
<th scope="col">Course</th>
Taulukoiden päällekkäisten kuvatekstien korjaaminen
Taulukot tarvitsevat yksilölliset kuvaukset, jotta käyttäjät ymmärtävät, mitä ne sisältävät. Saman kuvatekstin käyttäminen useissa taulukoissa heikentää selkeyttä avustavaa teknologiaa käytettäessä.
Etsi HTML-koodistasi
<caption>-elementti<table>-elementin sisältä.Päivitä
<caption>-elementissä oleva päällekkäinen kuvateksti täsmälliseksi kuvatekstiksi, joka kuvaa taulukkoa.
Esimerkki
<!-- Incorrect --> <table> <caption>Data table</caption> ... </table> <!-- Correct --> <table> <caption>Student Enrollment by Department – Fall 2025</caption> ... </table>
Ei-yksilöllisten vaihtoehtoisten tekstien ongelmien korjaaminen
Kuvilla on oltava vaihtoehtoinen teksti (alt-teksti), joka kuvaa tarkasti niiden sisältöä. Jos kaksi kuvaa esittää eri sisältöä mutta niillä on sama alt-teksti, käyttäjät voivat johtua harhaan. Vastaavasti jos kaksi kuvaa käyttää samaa tiedostolähdettä mutta niillä on eri alt-teksti, syntyy epäjohdonmukaisuutta.
Etsi HTML-koodistasi
<img>-elementit, jotka on merkitty ei-yksilöllisen alt-tekstin ongelmasta.Jos kuvilla on eri lähteet (
src) mutta sama alt-teksti, päivitä alt-teksti niin, että jokainen kuvaus on yksilöllinen ja vastaa kuvan sisältöä.
<img src="team-photo.jpg" alt="Team standing together outside office"> <img src="office.jpg" alt="Front view of office building">
Jos kuvilla on sama lähde (src), varmista, että alt-teksti on yhdenmukainen kaikissa esiintymissä.
<img src="logo.png" alt="Company logo"> <img src="logo.png" alt="Company logo">
Tallenna muutokset ja lataa sivu uudelleen.
Virheellisten <noscript>-elementtien korjaaminen
<noscript>-elementti tarjoaa varasisältöä käyttäjille, joilla JavaScript on poistettu käytöstä. Varmista, että se sisältää merkityksellistä, saavutettavaa sisältöä eikä toista tai piilota olennaista tietoa. Älä luota <noscript>-sisältöön tärkeissä toiminnoissa, ellei saavutettavaa vaihtoehtoa ole tarjolla.
- Etsi HTML-koodistasi merkityt
<noscript>-elementit. - Varmista, että
<noscript>-elementit sisältävät hyödyllistä varasisältöä, joka kertoo käyttäjille, mitkä toiminnot eivät ole käytettävissä ilman JavaScriptiä.
Huomautus: Poista <noscript>-elementit, jotka ovat tyhjiä, päällekkäisiä tai puhtaasti koristeellisia.
Esimerkki
<!-- Incorrect -->
<noscript></noscript>
<!-- Correct -->
<noscript>
<p>This site requires JavaScript to function properly. Please enable JavaScript in your browser.</p>
</noscript>
Semanttista merkitystä vailla olevien visuaalisten tagien käytön korjaaminen
Käytä semanttisia tageja, kuten <strong> ja <em>, pelkästään visuaalisten tagien, kuten <b> ja <i>, sijaan, jotta avustavat teknologiat ymmärtävät tekstin tärkeyden tai painotuksen.
Etsi HTML-koodista
<b>-tagit ja korvaa ne<strong>-tageilla, jos teksti on tärkeää.Etsi HTML-koodista
<i>-tagit ja korvaa ne<em>-tageilla, jos tekstiä tulee painottaa.
Esimerkki
<!-- Incorrect --> <p><b>Important:</b> Save your changes.</p> <p><i>Note:</i> Restart required.</p> <!-- Correct --> <p><strong>Important:</strong> Save your changes.</p> <p><em>Note:</em> Restart required.</p>
Puuttuvan ykköstason otsikon (H1) korjaaminen
Jokaisella sivulla on oltava yksi selkeä ykköstason otsikko (<h1>), joka auttaa käyttäjiä, erityisesti avustavaa teknologiaa käyttäviä, ymmärtämään sivun pääasiallisen tarkoituksen tai aiheen. Puuttuva tai virheellinen otsikkorakenne voi tehdä navigoinnista sekavaa.
- Etsi HTML-koodistasi sivun pääsisältöalue (esim.
<body>-elementin sisältä). -
Lisää
<h1>-elementti, joka kuvaa selkeästi sivun pääaiheen tai tarkoituksen.
Huomautus: Varmista, että sivulla on vain yksi<h1>ja että se lisätään ennen muita alemman tason otsikoita (esim.<h2>,<h3>,<h4>).
Esimerkki
<!-- Incorrect --> <body> <h2>Course Overview</h2> <p>This page describes available courses.</p> </body> <!-- Correct --> <body> <h1>Available Courses</h1> <h2>Course Overview</h2> <p>This page describes available courses.</p> </body>
Ohitettujen otsikkotasojen korjaaminen
Otsikoiden on noudatettava loogista järjestystä, jotta käyttäjät ymmärtävät sivun rakenteen. Otsikkotasojen ohittaminen voi hämmentää ruudunlukuohjelmien käyttäjiä ja vaikeuttaa sisällössä liikkumista.
- Tarkista HTML-koodistasi sivun otsikkorakenne (esim. tasot
<h1>–<h6>). - Päivitä otsikkotasosi niin, että ne muodostavat oikean hierarkian eikä tasoja ohiteta (esim.
<h2>kuuluu<h1>-elementin alle ja<h3><h2>-elementin alle).
Esimerkki
<!-- Incorrect --> <h1>Academic Programs</h1> <h3>Undergraduate Programs</h3> <p>Details about undergraduate offerings.</p> <!-- Correct --> <h1>Academic Programs</h1> <h2>Undergraduate Programs</h2> <p>Details about undergraduate offerings.</p>
Tyhjien otsikoiden korjaaminen
Otsikoiden on sisällettävä merkityksellistä tekstiä, jotta käyttäjät ymmärtävät sivun rakenteen ja sisällön. Tyhjät otsikot, eli otsikot ilman tekstiä tai vain koristeellisilla elementeillä, eivät anna ruudunlukuohjelmien käyttäjille mitään tietoa ja voivat hämmentää navigoinnissa.
- Etsi HTML-koodistasi merkityt otsikkoelementit, jotka eivät sisällä näkyvää, kuvaavaa tekstiä.
- Päivitä jokainen tyhjä otsikko lisäämällä selkeä kuvaus, joka kuvaa osion sisältöä.
Huomautus: Jos otsikko ei ole tarpeellinen, poista otsikkotaso.
Esimerkki
<!-- Incorrect --> <h2></h2> <p>Information about campus housing.</p> <!-- Correct --> <h2>Campus Housing</h2> <p>Information about campus housing.</p>
Puuttuvien tai virheellisesti määriteltyjen ympäröivien alueiden korjaaminen
Aluelementtien, kuten <header>, <nav>, <main>, <aside> ja <footer>, käyttö auttaa kuvaamaan sivusi rakennetta. Nämä elementit kertovat ruudunlukuohjelmille, missä sivun keskeiset osat alkavat ja päättyvät.
- Etsi HTML-koodistasi sivusi pääalueet (esim. yläbanneri, navigointivalikko, pääsisältö, sivupalkki tai alatunniste).
- Jos sivusi käyttää yleisiä säilöelementtejä, kuten
<div>, päivitä ne käyttämään oikeaa aluelementtiä (esim. korvaa<div id="main">elementillä<main>.) - Varmista, että olet lisännyt oikean aluelementin jokaisen alueen ympärille:
-
<header>sivun yläosaa tai sivuston otsikkoa varten. -
<nav>navigointilinkkejä varten. -
<main>sivun keskeistä sisältöä varten. -
<aside>lisä- tai aiheeseen liittyviä tietoja varten. -
<footer>sivun alaosaa tai päätössisältöä varten.
-
- Jos käytät ARIA-rooleja (esim.
role="main"tairole="navigation"), sijoita ne oikean aluelementin sisään.
Huomautus: Käytä ARIA-rooleja vain, jos et voi käyttää natiiveja HTML-aluelementtejä.
Esimerkki
<!-- Incorrect -->
<div id="header">
<h1>Welcome to Our Site</h1>
</div>
<div id="menu">
<ul><li><a href="#">Home</a></li></ul>
</div>
<div id="content">
<p>Main content goes here.</p>
</div>
<!-- Correct -->
<header>
<h1>Welcome to Our Site</h1>
</header>
<nav>
<ul><li><a href="#">Home</a></li></ul>
</nav>
<main>
<p>Main content goes here.</p>
</main>