Latviešu

Visaptveroša rokasgrāmata par dialogu pārvaldību un pieejamību modālajiem un nemodālajiem logiem, nodrošinot iekļaujošu lietotāja pieredzi.

Dialogu pārvaldība: Pieejamības nodrošināšana modālajos un nemodālajos logos

Lietotāja saskarnes (UI) dizaina jomā dialogiem ir būtiska loma, mijiedarbojoties ar lietotājiem, sniedzot informāciju vai pieprasot ievadi. Šie dialogi var izpausties kā modāli vai nemodāli logi, un katram no tiem ir unikāli pieejamības apsvērumi. Šī rokasgrāmata iedziļinās dialogu pārvaldības sarežģītībās, koncentrējoties uz pieejamības nodrošināšanu visiem lietotājiem, neatkarīgi no viņu spējām, ievērojot tādus standartus kā Tīmekļa satura pieejamības vadlīnijas (WCAG) un izmantojot Pieejamo bagātināto interneta lietojumprogrammu (ARIA) atribūtus.

Izpratne par modālajiem un nemodālajiem dialogiem

Pirms iedziļināties pieejamības apsvērumos, ir svarīgi definēt, ko mēs saprotam ar modālajiem un nemodālajiem dialogiem:

Pieejamības apsvērumi dialogiem

Pieejamība ir vissvarīgākā UI dizainā. Nodrošinot, ka dialogi ir pieejami, nozīmē, ka visi lietotāji, ieskaitot tos ar invaliditāti, var tos efektīvi izmantot. Tas ietver dažādu apsvērumu risināšanu, tostarp:

ARIA atribūti dialogu pieejamībai

ARIA (Pieejamās bagātinātās interneta lietojumprogrammas) atribūti nodrošina semantisko informāciju palīgtehnoloģijām, piemēram, ekrāna lasītājiem, ļaujot tām precīzāk interpretēt un prezentēt UI elementus. Galvenie ARIA atribūti dialogu pieejamībai ietver:

Modālo dialogu pieejamība: Labākā prakse

Modālie dialogi rada unikālus pieejamības izaicinājumus to bloķējošās dabas dēļ. Šeit ir dažas labākās prakses, kā nodrošināt modālo dialogu pieejamību:

1. Pareizi ARIA atribūti

Kā jau minēts, `role="dialog"` (vai `role="alertdialog"` steidzamiem ziņojumiem), `aria-labelledby`, `aria-describedby` un `aria-modal="true"` izmantošana ir būtiska, lai identificētu dialogu un tā mērķi palīgtehnoloģijām.

Piemērs:

<div role="dialog" aria-labelledby="confirmation-heading" aria-modal="true"> <h2 id="confirmation-heading">Apstiprināt dzēšanu</h2> <p>Vai esat pārliecināts, ka vēlaties dzēst šo vienumu? Šo darbību nevar atsaukt.</p> <button>Apstiprināt</button> <button>Atcelt</button> </div>

2. Fokusa pārvaldība

Kad tiek atvērts modālais dialogs, tastatūras fokuss nekavējoties jāpārvieto uz pirmo interaktīvo elementu dialoga iekšienē (piemēram, pirmo pogu vai ievades lauku). Kad dialogs tiek aizvērts, fokusam jāatgriežas pie elementa, kas izsauca dialogu.

Ieviešanas apsvērumi:

Piemērs (Konceptuāls 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. Pieejamība ar tastatūru

Nodrošiniet, ka visiem interaktīvajiem elementiem dialoga iekšienē var piekļūt un tos aktivizēt, izmantojot tastatūru. Tas ietver pogas, saites, veidlapu laukus un jebkādas pielāgotas vadīklas.

Apsvērumi:

4. Vizuālais dizains

Modālā dialoga vizuālajam dizainam skaidri jānorāda, ka tas ir atdalīts no galvenā lietojumprogrammas loga. To var panākt, izmantojot kontrastējošu fona krāsu, izteiktu apmali vai ēnas efektu. Nodrošiniet pietiekamu krāsu kontrastu starp tekstu un fonu lasāmības nolūkos.

5. Semantiskais HTML

Kad vien iespējams, izmantojiet semantiskos HTML elementus. Piemēram, izmantojiet <button> elementus pogām, <label> elementus, lai apzīmētu veidlapu ievades, un <h2> vai <h3> elementus virsrakstiem.

6. Internacionalizācija un lokalizācija

Izstrādājot un ieviešot dialogus, ņemiet vērā dažādu kultūru lietotāju vajadzības. Tas ietver dialoga satura lokalizētu versiju nodrošināšanu un nodrošināšanu, ka dialoga izkārtojums atbilstoši pielāgojas dažādiem teksta virzieniem (piemēram, valodām, kuras raksta no labās uz kreiso pusi).

Piemērs: Apstiprinājuma dialogs, kas lūdz lietotāju dzēst savu kontu, ir precīzi un kulturāli atbilstoši jāpārtulko katrai mērķa valodai. Izkārtojumam var būt nepieciešami arī pielāgojumi valodām, kuras raksta no labās uz kreiso pusi.

Nemodālo dialogu pieejamība: Labākā prakse

Lai gan nemodālie dialogi ir mazāk traucējoši nekā modālie dialogi, tiem joprojām ir nepieciešama rūpīga uzmanība pieejamībai. Šeit ir dažas labākās prakses:

1. Skaidra vizuāla atšķirība

Nodrošiniet, ka nemodālais dialogs ir vizuāli atšķirīgs no galvenā lietojumprogrammas loga, lai izvairītos no neskaidrībām. To var panākt, izmantojot apmali, fona krāsu vai smalku ēnu.

2. Fokusa pārvaldība

Lai gan nemodālie dialogi nebloķē mijiedarbību ar galveno logu, pareiza fokusa pārvaldība joprojām ir būtiska. Kad dialogs tiek atvērts, fokuss jāpārvieto uz pirmo interaktīvo elementu dialoga iekšienē. Lietotājiem ir jāspēj viegli pārslēgties starp dialogu un galveno logu, izmantojot navigāciju ar tastatūru.

3. ARIA atribūti

Izmantojiet `role="dialog"`, `aria-labelledby` un `aria-describedby`, lai sniegtu semantisko informāciju par dialogu palīgtehnoloģijām. `aria-modal="false"` vai `aria-modal` atribūta neizmantošana ir svarīga, lai atšķirtu nemodālos dialogus no modālajiem.

Piemērs:

<div role="dialog" aria-labelledby="font-settings-heading"> <h2 id="font-settings-heading">Fonta iestatījumi</h2> <label for="font-size">Fonta lielums:</label> <input type="number" id="font-size" value="12"> <button>Piemērot</button> </div>

4. Pieejamība ar tastatūru

Nodrošiniet, ka visiem interaktīvajiem elementiem dialoga iekšienē var piekļūt un tos aktivizēt, izmantojot tastatūru. Tabulēšanas secībai jābūt loģiskai un intuitīvai, ļaujot lietotājiem viegli navigēt starp dialogu un galveno logu.

5. Izvairīšanās no pārklāšanās

Izvairieties no nemodālo dialogu pozicionēšanas tādā veidā, kas aizsedz svarīgu saturu galvenajā lietojumprogrammas logā. Dialogs jānovieto skaidrā un pieejamā vietā.

6. Apzināšanās un komunikācija

Kad tiek atvērts nemodālais dialogs, ir noderīgi vizuāli vai audiāli (izmantojot ARIA "live" reģionus) informēt lietotāju, ka ir parādījies jauns dialogs, it īpaši, ja tas atveras fonā un var nebūt uzreiz pamanāms.

Praktiski piemēri un koda fragmenti

Apskatīsim dažus praktiskus piemērus un koda fragmentus, lai ilustrētu šos jēdzienus.

1. piemērs: Modāls apstiprinājuma dialogs

<button id="delete-button" onclick="openModal('delete-confirmation-modal', 'delete-button')">Dzēst vienumu</button> <div id="delete-confirmation-modal" role="dialog" aria-labelledby="delete-heading" aria-modal="true" style="display:none;"> <h2 id="delete-heading">Apstiprināt dzēšanu</h2> <p>Vai esat pārliecināts, ka vēlaties dzēst šo vienumu? Šo darbību nevar atsaukt.</p> <button onclick="//Dzēšanas loģika; closeModal('delete-confirmation-modal', 'delete-button')">Apstiprināt</button> <button onclick="closeModal('delete-confirmation-modal', 'delete-button')">Atcelt</button> </div>

2. piemērs: Nemodāls fonta iestatījumu dialogs

<button id="font-settings-button" onclick="openModal('font-settings-dialog', 'font-settings-button')">Fonta iestatījumi</button> <div id="font-settings-dialog" role="dialog" aria-labelledby="font-settings-heading" style="display:none;"> <h2 id="font-settings-heading">Fonta iestatījumi</h2> <label for="font-size">Fonta lielums:</label> <input type="number" id="font-size" value="12"><br> <label for="font-family">Fonta saime:</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="//Piemērot fonta iestatījumu loģiku">Piemērot</button> </div>

Testēšana un validācija

Rūpīga testēšana ir būtiska, lai nodrošinātu dialogu pieejamību. Tas ietver:

WCAG atbilstība

Tīmekļa satura pieejamības vadlīniju (WCAG) ievērošana ir būtiska, lai izveidotu pieejamus dialogus. Attiecīgie WCAG veiksmes kritēriji ietver:

Globālie apsvērumi

Izstrādājot dialogus globālai auditorijai, ņemiet vērā sekojošo:

Piemērs: Dialogam, kas tiek izmantots Japānā, varētu būt nepieciešams pielāgoties vertikāliem teksta izkārtojumiem un atšķirīgiem datuma formātiem nekā dialogam, kas tiek izmantots Amerikas Savienotajās Valstīs.

Noslēgums

Pieejamu dialogu, gan modālo, gan nemodālo, izveide ir būtisks iekļaujoša UI dizaina aspekts. Ievērojot šajā rokasgrāmatā izklāstītās labākās prakses, ievērojot WCAG vadlīnijas un efektīvi izmantojot ARIA atribūtus, izstrādātāji var nodrošināt, ka visi lietotāji, neatkarīgi no viņu spējām, var netraucēti un efektīvi mijiedarboties ar dialogiem. Atcerieties, ka pieejamība nav tikai par atbilstību; tā ir par iekļaujošākas un taisnīgākas lietotāja pieredzes radīšanu ikvienam. Nepārtraukta testēšana un atsauksmju vākšana no lietotājiem ar invaliditāti ir būtiska, lai identificētu un risinātu pieejamības problēmas un uzlabotu kopējo lietotāja pieredzi. Prioritizējot pieejamību, jūs varat izveidot dialogus, kas ir ne tikai funkcionāli un vizuāli pievilcīgi, bet arī lietojami un patīkami visiem lietotājiem visā pasaulē.