Visaptveroša rokasgrāmata par pieejamu rīka padomu ieviešanu, izmantojot kursora un fokusa stāvokļus, nodrošinot lietojamību visiem lietotājiem.
Rīka padomu ieviešana: pieejama informācija ar kursoru un fokusu
Rīka padomi ir nelieli, kontekstuāli palīdzības ziņojumi, kas parādās, kad lietotājs virza peles kursoru virs elementa vai fokusējas uz to. Tie var sniegt papildu informāciju, paskaidrot elementa mērķi vai piedāvāt ieteikumus par funkcijas lietošanu. Tomēr, ja rīka padomi nav pareizi ieviesti, tie var viegli kļūt par pieejamības murgu. Šī rokasgrāmata izklāsta labākās prakses, kā izveidot rīka padomus, kas ir lietojami visiem, ieskaitot lietotājus ar invaliditāti.
Kāpēc pieejamība ir svarīga rīka padomiem
Pieejamība nav tikai par atbilstību standartiem; tā ir par labākas lietotāja pieredzes radīšanu visiem. Ja rīka padomi nav pieejami, tas var izslēgt lietotājus, kuri paļaujas uz palīgtehnoloģijām, piemēram, ekrāna lasītājiem, tastatūras navigāciju vai balss ievadi. Apsveriet šādus scenārijus:
- Ekrāna lasītāju lietotāji: Ja rīka padoms nav pareizi iezīmēts, ekrāna lasītājs var nepaziņot par tā klātbūtni vai saturu.
- Tastatūras lietotāji: Ja rīka padoms parādās tikai, uzvirzot kursoru, tastatūras lietotāji nevarēs tam piekļūt.
- Lietotāji ar kustību traucējumiem: Precīzas peles kustības, kas nepieciešamas kursora mijiedarbībai, var būt apgrūtinošas vai neiespējamas.
- Lietotāji ar kognitīviem traucējumiem: Slikti laicēts vai mulsinošs rīka padoms var radīt vilšanos un traucēt izpratni.
Ievērojot pieejamības labākās prakses, mēs varam nodrošināt, ka rīka padomi uzlabo, nevis traucē lietotāja pieredzi visiem.
Galvenie principi pieejamiem rīka padomiem
Šie principi ir būtiski, lai izveidotu pieejamus rīka padomus:
- Nodrošiniet alternatīvu piekļuvi: Pārliecinieties, ka rīka padomi ir pieejami gan ar kursoru, gan ar tastatūras fokusu.
- Izmantojiet ARIA atribūtus: Izmantojiet ARIA (Accessible Rich Internet Applications) atribūtus, lai pareizi identificētu un aprakstītu rīka padomus palīgtehnoloģijām.
- Pārvaldiet fokusu: Kontrolējiet, kur nonāk fokuss, kad rīka padoms tiek parādīts un paslēpts.
- Nodrošiniet pietiekamu kontrastu: Nodrošiniet pietiekamu krāsu kontrastu starp rīka padoma tekstu un fonu.
- Atvēliet pietiekami daudz laika: Dodiet lietotājiem pietiekami daudz laika, lai izlasītu rīka padoma saturu.
- Padariet tos noraidāmus: Nodrošiniet skaidru veidu, kā noraidīt rīka padomu.
- Izvairieties no pārmērīgas lietošanas: Lietojiet rīka padomus taupīgi un tikai tad, kad tas ir nepieciešams.
Ieviešanas tehnikas
1. Izmantojot kursoru un fokusu
Vissvarīgākais pieejamu rīka padomu aspekts ir nodrošināt, ka tie ir pieejami gan peles, gan tastatūras lietotājiem. Tas nozīmē, ka rīka padomam vajadzētu parādīties gan uzvirzot kursoru, gan tad, kad elements saņem fokusu.
HTML:
<a href="#" aria-describedby="tooltip-example">Saites piemērs</a>
<div id="tooltip-example" role="tooltip" style="display: none;">Šis ir rīka padoma piemērs.</div>
CSS:
a:hover + div[role="tooltip"],
a:focus + div[role="tooltip"] {
display: block;
position: absolute;
background-color: #f0f0f0;
border: 1px solid #ccc;
padding: 5px;
z-index: 1000; /* Nodrošiniet, ka rīka padoms ir augšpusē */
}
Paskaidrojums:
aria-describedby
: Šis atribūts sasaista saiti ar rīka padoma elementu, izmantojot tā ID. Tas palīgtehnoloģijām norāda, ka rīka padoms sniedz papildu informāciju par saiti.role="tooltip"
: Šī ARIA loma identificē elementu kā rīka padomu.- CSS izmanto blakus esošo brāļa selektoru (
+
), lai parādītu rīka padomu, kad saitei tiek uzvirzīts kursors vai tā tiek fokusēta.
JavaScript (Paplašināta kontrole - neobligāti):
Lai gan CSS var nodrošināt vienkāršu parādīšanu/paslēpšanu, JavaScript ļauj veikt robustāku kontroli, īpaši, ja rīka padomi tiek dinamiski ģenerēti vai tiem nepieciešama sarežģītāka uzvedība.
const link = document.querySelector('a[aria-describedby="tooltip-example"]');
const tooltip = document.getElementById('tooltip-example');
link.addEventListener('focus', () => {
tooltip.style.display = 'block';
});
link.addEventListener('blur', () => {
tooltip.style.display = 'none';
});
link.addEventListener('mouseover', () => {
tooltip.style.display = 'block';
});
link.addEventListener('mouseout', () => {
tooltip.style.display = 'none';
});
2. Izmantojot ARIA atribūtus
ARIA atribūti ir būtiski, lai nodrošinātu semantisko informāciju palīgtehnoloģijām. Šeit ir galveno atribūtu sadalījums:
aria-describedby
: Kā minēts iepriekš, šis atribūts izveido saistību starp ierosinošo elementu un rīka padoma elementu.role="tooltip"
: Šis atribūts skaidri definē elementu kā rīka padomu.aria-hidden="true"
/aria-hidden="false"
: Izmantojiet šos atribūtus, lai norādītu, vai rīka padoms pašlaik ir redzams palīgtehnoloģijām. Kad rīka padoms ir paslēpts, iestatietaria-hidden="true"
. Kad tas ir redzams, iestatietaria-hidden="false"
. Tas ir īpaši svarīgi, ja rīka padoma redzamības kontrolei izmanto JavaScript.
Piemērs:
<button aria-describedby="help-tooltip">Iesniegt</button>
<div id="help-tooltip" role="tooltip" aria-hidden="true">Noklikšķiniet šeit, lai iesniegtu veidlapu.</div>
JavaScript (priekš aria-hidden):
const button = document.querySelector('button[aria-describedby="help-tooltip"]');
const tooltip = document.getElementById('help-tooltip');
button.addEventListener('focus', () => {
tooltip.setAttribute('aria-hidden', 'false');
tooltip.style.display = 'block';
});
button.addEventListener('blur', () => {
tooltip.setAttribute('aria-hidden', 'true');
tooltip.style.display = 'none';
});
button.addEventListener('mouseover', () => {
tooltip.setAttribute('aria-hidden', 'false');
tooltip.style.display = 'block';
});
button.addEventListener('mouseout', () => {
tooltip.setAttribute('aria-hidden', 'true');
tooltip.style.display = 'none';
});
3. Fokusa pārvaldība
Kad parādās rīka padoms, tam parasti *nevajadzētu* nozagt fokusu no ierosinošā elementa. Foksam jāpaliek uz elementa, kas izsauca rīka padomu. Tas nodrošina, ka tastatūras lietotāji var turpināt pārvietoties pa lapu bez neparedzētiem pārtraukumiem.
Tomēr var būt situācijas, kad jūs *vēlaties* pārvietot fokusu uz rīka padomu, īpaši, ja rīka padoms satur interaktīvus elementus (piemēram, saites, pogas). Šādā gadījumā pārliecinieties, ka:
- Rīka padoms ir vizuāli atšķirīgs, lai norādītu, ka tam ir fokuss.
- Ir skaidrs veids, kā atgriezt fokusu uz sākotnējo ierosinošo elementu (piemēram, aizvēršanas poga rīka padomā).
Vairumā gadījumu vienkāršības un lietojamības dēļ priekšroka tiek dota izvairīšanās no fokusa pārvaldības pašā rīka padomā.
4. Pietiekama kontrasta nodrošināšana
Krāsu kontrasts ir būtisks lasāmībai. Pārliecinieties, ka jūsu rīka padomu teksta krāsai ir pietiekams kontrasts pret fona krāsu. Tīmekļa satura pieejamības vadlīnijas (WCAG) iesaka kontrasta attiecību vismaz 4.5:1 normālam tekstam un 3:1 lielam tekstam (18pt vai 14pt treknrakstā).
Izmantojiet tiešsaistes kontrastu pārbaudītājus, lai pārliecinātos, ka jūsu krāsu izvēle atbilst pieejamības standartiem. Kontrasta pārbaudītāju piemēri:
- WebAIM Contrast Checker: https://webaim.org/resources/contrastchecker/
- Coolors: https://coolors.co/contrast-checker
Piemērs (labs kontrasts):
.tooltip {
background-color: #000;
color: #fff;
}
Piemērs (slikts kontrasts):
.tooltip {
background-color: #fff;
color: #eee;
}
5. Pietiekama laika atvēlēšana
Lietotājiem nepieciešams pietiekami daudz laika, lai izlasītu rīka padoma saturu. Izvairieties no rīka padomiem, kas pazūd pārāk ātri. Lai gan nav maģiska skaitļa, mērķējiet uz minimālo attēlošanas laiku dažas sekundes. Turklāt rīka padomam jāpaliek redzamam tik ilgi, kamēr lietotājs virza kursoru virs ierosinošā elementa vai ir uz to fokusējies. Ja jums ir nepieciešams noraidīt rīka padomu citu notikumu dēļ, nodrošiniet indikatoru, ka rīka padoms tiks aizvērts.
Ja rīka padoma saturs ir garš, apsveriet iespēju nodrošināt lietotājam veidu, kā manuāli noraidīt rīka padomu (piemēram, aizvēršanas poga vai Escape taustiņa nospiešana).
6. Padarot tos noraidāmus
Lai gan rīka padomi bieži pazūd automātiski, kad lietotājs pārvieto peli prom vai noņem fokusu, ir laba prakse nodrošināt skaidru veidu, kā tos manuāli noraidīt, īpaši gariem rīka padomiem vai rīka padomiem, kas satur interaktīvus elementus.
Metodes rīka padomu noraidīšanai:
- Aizvēršanas poga: Iekļaujiet vizuāli pamanāmu aizvēršanas pogu rīka padomā.
- Escape taustiņš: Ļaujiet lietotājiem noraidīt rīka padomu, nospiežot Escape taustiņu.
- Klikšķis ārpusē: Noraidiet rīka padomu, kad lietotājs noklikšķina jebkur ārpus rīka padoma un ierosinošā elementa. (Lietojiet piesardzīgi, jo tas var būt traucējoši).
Piemērs (aizvēršanas poga):
<div id="my-tooltip" role="tooltip" aria-hidden="true">
Šis ir mana rīka padoma saturs.
<button onclick="hideTooltip()">Aizvērt</button>
</div>
Piemērs (Escape taustiņš):
document.addEventListener('keydown', function(event) {
if (event.key === 'Escape') {
hideTooltip(); // Aizstājiet ar savu faktisko rīka padoma paslēpšanas funkciju
}
});
7. Izvairīšanās no pārmērīgas lietošanas
Rīka padomi jālieto taupīgi un tikai tad, ja tie sniedz patiesi noderīgu informāciju. Pārmērīga rīka padomu lietošana var pārblīvēt saskarni, novērst lietotāju uzmanību un radīt nepatīkamu pieredzi.
Alternatīvas rīka padomiem:
- Skaidri nosaukumi: Izmantojiet skaidrus un aprakstošus nosaukumus veidlapu laukiem, pogām un saitēm.
- Kontekstuāla palīdzība: Nodrošiniet palīdzības tekstu tieši saskarnē, tuvu attiecīgajiem elementiem.
- Palīdzības dokumentācija: Izveidojiet saiti uz visaptverošu palīdzības dokumentāciju sarežģītākām funkcijām.
Papildu apsvērumi
Dinamiskais saturs
Ja jūsu rīka padoma saturs tiek ģenerēts dinamiski (piemēram, ielādēts no API vai atjaunināts, pamatojoties uz lietotāja ievadi), nodrošiniet, ka aria-describedby
atribūts un rīka padoma redzamība tiek atbilstoši atjaunināti. Izmantojiet JavaScript, lai pārvaldītu šos atjauninājumus.
Pozicionēšana
Rūpīgi apsveriet savu rīka padomu pozicionēšanu. Izvairieties no to novietošanas veidā, kas aizsedz svarīgu saturu vai izraisa izkārtojuma nobīdes. Pievērsiet uzmanību dažādiem ekrāna izmēriem un izšķirtspējām un izmantojiet CSS, lai nodrošinātu, ka rīka padomi vienmēr ir redzami skatlogā.
Mobilās ierīces
Rīka padomi tradicionāli paļaujas uz kursora mijiedarbību, kas nav pieejama skārienjutīgās ierīcēs. Mobilajām ierīcēm apsveriet alternatīvu mijiedarbības metožu izmantošanu, piemēram:
- Pieskāriens: Parādiet rīka padomu, kad lietotājs pieskaras elementam.
- Ilga nospiešana: Parādiet rīka padomu, kad lietotājs ilgi nospiež elementu.
- Rādīt fokusā: Parādiet, kad elements saņem fokusu. To var panākt ar JavaScript, pārbaudot skārienjutības atbalstu (piemēram,
('ontouchstart' in window)
) un attiecīgi mainot attēlošanas uzvedību.
Jūsu rīka padomu testēšana
Rūpīgi pārbaudiet savus rīka padomus, lai nodrošinātu, ka tie ir pieejami visiem lietotājiem. Izmantojiet manuālās testēšanas un automatizēto pieejamības testēšanas rīku kombināciju.
Testēšanas metodes:
- Navigācija ar tastatūru: Pārbaudiet, vai rīka padomiem var piekļūt, izmantojot tastatūru.
- Testēšana ar ekrāna lasītāju: Izmantojiet ekrāna lasītāju, lai pārliecinātos, ka rīka padomi tiek pareizi paziņoti.
- Krāsu kontrasta analīze: Izmantojiet krāsu kontrasta pārbaudītāju, lai pārbaudītu pietiekamu kontrastu.
- Testēšana mobilajās ierīcēs: Pārbaudiet rīka padomus dažādās mobilajās ierīcēs un ekrāna izmēros.
- Automatizēta pieejamības testēšana: Izmantojiet tādus rīkus kā axe DevTools, WAVE vai Lighthouse, lai identificētu potenciālās pieejamības problēmas.
Internacionalizācija (i18n) un lokalizācija (l10n)
Izstrādājot rīka padomus globālai auditorijai, paturiet prātā internacionalizāciju un lokalizāciju:
- Teksta virziens: Atbalstiet gan no kreisās uz labo (LTR), gan no labās uz kreiso (RTL) teksta virzienu. Izkārtojumam izmantojiet CSS loģiskās īpašības (piemēram,
margin-inline-start
,margin-inline-end
) fizisko īpašību vietā (piemēram,margin-left
,margin-right
). - Valodai specifiski tulkojumi: Nodrošiniet rīka padomu satura tulkojumus dažādām valodām.
- Datuma un laika formāti: Pielāgojiet datuma un laika formātus lietotāja lokalizācijai.
- Skaitļu formāti: Izmantojiet atbilstošus skaitļu formātus dažādiem reģioniem (piemēram, decimālatdalītājus, tūkstošu atdalītājus).
Noslēgums
Pieejamu rīka padomu ieviešana prasa rūpīgu plānošanu un uzmanību detaļām. Ievērojot šajā rokasgrāmatā izklāstītos principus un tehnikas, jūs varat izveidot rīka padomus, kas ir lietojami visiem, neatkarīgi no viņu spējām. Atcerieties, ka pieejamība ir nepārtraukts process, tāpēc turpiniet testēt un pilnveidot savus rīka padomus, lai nodrošinātu, ka tie atbilst visu jūsu lietotāju vajadzībām.