Eesti

Põhjalik juhend dialoogide haldamiseks, keskendudes modaalsete ja mittemodaalsete akende juurdepääsetavusele, et tagada kaasav kasutajakogemus.

Dialoogide haldamine: juurdepääsetavuse tagamine modaalsetes ja mittemodaalsetes akendes

Kasutajaliidese (UI) disaini valdkonnas mängivad dialoogid olulist rolli kasutajatega suhtlemisel, teabe edastamisel või sisendi küsimisel. Need dialoogid võivad ilmneda kas modaalsete või mittemodaalsete akendena, millest igaüks esitab unikaalseid juurdepääsetavuse kaalutlusi. See juhend süveneb dialoogide haldamise keerukustesse, keskendudes juurdepääsetavuse tagamisele kõigile kasutajatele, olenemata nende võimetest, järgides väljakujunenud standardeid nagu veebisisu juurdepääsetavuse suunised (WCAG) ja kasutades ligipääsetavate rikaste internetirakenduste (ARIA) atribuute.

Modaalsete ja mittemodaalsete dialoogide mõistmine

Enne juurdepääsetavuse kaalutlustesse süvenemist on oluline määratleda, mida me mõtleme modaalsete ja mittemodaalsete dialoogide all:

Dialoogide juurdepääsetavuse kaalutlused

Juurdepääsetavus on kasutajaliidese disainis esmatähtis. Dialoogide juurdepääsetavuse tagamine tähendab, et kõik kasutajad, sealhulgas puuetega inimesed, saavad neid tõhusalt kasutada. See hõlmab mitmesuguste kaalutluste käsitlemist, sealhulgas:

ARIA atribuudid dialoogide juurdepääsetavuse tagamiseks

ARIA (Accessible Rich Internet Applications) atribuudid pakuvad semantilist teavet abistavatele tehnoloogiatele, nagu ekraanilugejad, võimaldades neil kasutajaliidese elemente täpsemalt tõlgendada ja esitada. Peamised ARIA atribuudid dialoogide juurdepääsetavuse tagamiseks on:

Modaalsete dialoogide juurdepääsetavus: parimad praktikad

Modaalsed dialoogid esitavad oma blokeeriva olemuse tõttu unikaalseid juurdepääsetavuse väljakutseid. Siin on mõned parimad praktikad modaalsete dialoogide juurdepääsetavuse tagamiseks:

1. Nõuetekohased ARIA atribuudid

Nagu varem mainitud, on `role="dialog"` (või `role="alertdialog"` kiireloomuliste sõnumite puhul), `aria-labelledby`, `aria-describedby` ja `aria-modal="true"` kasutamine dialoogi ja selle eesmärgi tuvastamiseks abistavatele tehnoloogiatele ülioluline.

Näide:

<div role="dialog" aria-labelledby="confirmation-heading" aria-modal="true"> <h2 id="confirmation-heading">Kinnita kustutamine</h2> <p>Kas olete kindel, et soovite selle üksuse kustutada? Seda toimingut ei saa tagasi võtta.</p> <button>Kinnita</button> <button>Tühista</button> </div>

2. Fookuse haldamine

Kui modaalne dialoog avaneb, tuleks klaviatuuri fookus viivitamatult liigutada esimesele interaktiivsele elemendile dialoogi sees (nt esimesele nupule või sisestusväljale). Kui dialoog sulgub, peaks fookus naasma elemendile, mis dialoogi käivitas.

Rakendamise kaalutlused:

Näide (kontseptuaalne JavaScript):

function openModal(modalId) { const modal = document.getElementById(modalId); modal.style.display = "block"; const firstFocusableElement = modal.querySelector('button, [href], input, select, textarea, [tabindex]:not([tabindex="-1"])'); firstFocusableElement.focus(); } function closeModal(modalId, triggeringElementId) { const modal = document.getElementById(modalId); modal.style.display = "none"; const triggeringElement = document.getElementById(triggeringElementId); triggeringElement.focus(); }

3. Klaviatuuri juurdepääsetavus

Veenduge, et kõikidele dialoogis olevatele interaktiivsetele elementidele pääseb juurde ja neid saab aktiveerida klaviatuuri abil. See hõlmab nuppe, linke, vormivälju ja kõiki kohandatud juhtelemente.

Kaalutlused:

4. Visuaalne disain

Modaalse dialoogi visuaalne disain peaks selgelt näitama, et see on põhirakenduse aknast eraldi. Seda on võimalik saavutada kontrastse taustavärvi, selgepiirilise äärise või varjuefekti abil. Lugevuse tagamiseks veenduge piisavas värvikontrastis teksti ja tausta vahel.

5. Semantiline HTML

Kasutage võimaluse korral semantilisi HTML-elemente. Näiteks kasutage <button> elemente nuppude jaoks, <label> elemente vormisisendite sildistamiseks ja <h2> või <h3> elemente pealkirjade jaoks.

6. Rahvusvahelistamine ja lokaliseerimine

Dialoogide kujundamisel ja rakendamisel arvestage erineva kultuuritaustaga kasutajate vajadustega. See hõlmab dialoogi sisu lokaliseeritud versioonide pakkumist ja dialoogi paigutuse kohandamist erinevatele teksti suundadele (nt paremalt vasakule keeled).

Näide: Kinnitusdialoog, mis palub kasutajal oma konto kustutada, peab olema iga sihtkeele jaoks täpselt ja kultuuriliselt sobivalt tõlgitud. Paigutus võib vajada ka kohandusi paremalt vasakule kirjutatavate keelte jaoks.

Mittemodaalsete dialoogide juurdepääsetavus: parimad praktikad

Mittemodaalsed dialoogid, kuigi vähem häirivad kui modaalsed dialoogid, nõuavad siiski hoolikat tähelepanu juurdepääsetavusele. Siin on mõned parimad praktikad:

1. Selge visuaalne eristus

Veenduge, et mittemodaalne dialoog on visuaalselt eristatav põhirakenduse aknast, et vältida segadust. Seda saab saavutada äärise, taustavärvi või peene varju abil.

2. Fookuse haldamine

Kuigi mittemodaalsed dialoogid ei blokeeri suhtlust põhiaknaga, on õige fookuse haldamine siiski ülioluline. Kui dialoog avaneb, tuleks fookus viia esimesele interaktiivsele elemendile dialoogi sees. Kasutajad peaksid saama hõlpsasti klaviatuuriga navigeerides dialoogi ja põhiakna vahel lülituda.

3. ARIA atribuudid

Kasutage `role="dialog"`, `aria-labelledby` ja `aria-describedby`, et anda abistavatele tehnoloogiatele semantilist teavet dialoogi kohta. `aria-modal="false"` või `aria-modal` atribuudi puudumine on oluline, et eristada mittemodaalseid dialooge modaalsetest.

Näide:

<div role="dialog" aria-labelledby="font-settings-heading"> <h2 id="font-settings-heading">Fondi seaded</h2> <label for="font-size">Fondi suurus:</label> <input type="number" id="font-size" value="12"> <button>Rakenda</button> </div>

4. Klaviatuuri juurdepääsetavus

Veenduge, et kõikidele dialoogis olevatele interaktiivsetele elementidele pääseb juurde ja neid saab aktiveerida klaviatuuri abil. Tabulatsioonijärjestus peab olema loogiline ja intuitiivne, võimaldades kasutajatel hõlpsasti navigeerida dialoogi ja põhiakna vahel.

5. Vältige kattumist

Vältige mittemodaalsete dialoogide paigutamist viisil, mis varjab olulist sisu põhirakenduse aknas. Dialoog peaks asuma selges ja ligipääsetavas kohas.

6. Teadlikkus ja kommunikatsioon

Kui mittemodaalne dialoog avaneb, on kasulik kasutajat visuaalselt või kuuldavalt (kasutades ARIA live-piirkondi) teavitada uue dialoogi ilmumisest, eriti kui see avaneb taustal ja ei pruugi olla kohe märgatav.

Praktilised näited ja koodilõigud

Vaatame mõningaid praktilisi näiteid ja koodilõike, et neid kontseptsioone illustreerida.

Näide 1: Modaalne kinnitusdialoog

<button id="delete-button" onclick="openModal('delete-confirmation-modal', 'delete-button')">Kustuta üksus</button> <div id="delete-confirmation-modal" role="dialog" aria-labelledby="delete-heading" aria-modal="true" style="display:none;"> <h2 id="delete-heading">Kinnita kustutamine</h2> <p>Kas olete kindel, et soovite selle üksuse kustutada? Seda toimingut ei saa tagasi võtta.</p> <button onclick="//Delete item logic; closeModal('delete-confirmation-modal', 'delete-button')">Kinnita</button> <button onclick="closeModal('delete-confirmation-modal', 'delete-button')">Tühista</button> </div>

Näide 2: Mittemodaalne fondi seadete dialoog

<button id="font-settings-button" onclick="openModal('font-settings-dialog', 'font-settings-button')">Fondi seaded</button> <div id="font-settings-dialog" role="dialog" aria-labelledby="font-settings-heading" style="display:none;"> <h2 id="font-settings-heading">Fondi seaded</h2> <label for="font-size">Fondi suurus:</label> <input type="number" id="font-size" value="12"><br> <label for="font-family">Fondi perekond:</label> <select id="font-family"> <option value="Arial">Arial</option> <option value="Verdana">Verdana</option> <option value="Times New Roman">Times New Roman</option> </select><br> <button onclick="//Apply font settings logic">Rakenda</button> </div>

Testimine ja valideerimine

Põhjalik testimine on dialoogide juurdepääsetavuse tagamiseks hädavajalik. See hõlmab:

WCAG vastavus

Veebisisu juurdepääsetavuse suuniste (WCAG) järgimine on ligipääsetavate dialoogide loomisel ülioluline. Asjakohased WCAG edukriteeriumid hõlmavad:

Globaalsed kaalutlused

Globaalsele sihtrühmale dialoogide kujundamisel arvestage järgmist:

Näide: Jaapanis kasutatav dialoog võib vajada vertikaalse teksti paigutuse ja erinevate kuupäevavormingute toetust võrreldes Ameerika Ühendriikides kasutatava dialoogiga.

Kokkuvõte

Juurdepääsetavate dialoogide, nii modaalsete kui ka mittemodaalsete, loomine on kaasava kasutajaliidese disaini oluline aspekt. By following the best practices outlined in this guide, adhering to WCAG guidelines, and utilizing ARIA attributes effectively, developers can ensure that all users, regardless of their abilities, can interact with dialogs seamlessly and effectively. Pidage meeles, et juurdepääsetavus ei ole ainult vastavus; see on kaasavama ja õiglasema kasutajakogemuse loomine kõigile. Pidev testimine ja puuetega kasutajatelt tagasiside kogumine on ülioluline juurdepääsetavuse probleemide tuvastamiseks ja lahendamiseks ning üldise kasutajakogemuse parandamiseks. Eelistades juurdepääsetavust, saate luua dialooge, mis pole mitte ainult funktsionaalsed ja visuaalselt meeldivad, vaid ka kasutatavad ja nauditavad kõigile kasutajatele üle maailma.