Atskleiskite paslaptis, kaip sukurti prieinamus slankiklių valdiklius savo svetainėms ir programoms. Užtikrinkite įtrauktį ir pagerinkite naudotojo patirtį naudodami mūsų išsamų vadovą apie diapazono įvesties prieinamumo reikalavimus.
Slankiklių valdikliai: išsamus vadovas, kaip pasiekti diapazono įvestį
Slankiklių valdikliai, taip pat žinomi kaip diapazono įvestys, yra įprastas vartotojo sąsajos (UI) elementas, naudojamas norint pasirinkti reikšmę iš nuolatinio diapazono. Jie yra visur paplitę svetainėse ir programose, pasirodo visur – nuo garsumo valdiklių ir kainų filtrų iki duomenų vizualizavimo įrankių. Tačiau vizualiai patrauklus ir iš pažiūros funkcionalus slankiklis gali greitai tapti kliūtimi naudotojams su negalia, jei neprioritetizuojamas prieinamumas. Šis vadovas pateikia išsamų slankiklių valdiklių prieinamumo reikalavimų apžvalgą, užtikrinant, kad visi galėtų efektyviai naudoti jūsų diapazono įvestis, nepaisant jų galimybių ar naudojamų pagalbinių technologijų.
Prieinamų slankiklių svarbos supratimas
Prieinamumas yra ne tik atitikties kontrolinis sąrašas; tai pagrindinis gero žiniatinklio dizaino ir kūrimo aspektas. Prieinamas slankiklio valdiklis užtikrina, kad vartotojai su regėjimo sutrikimais, judėjimo sutrikimais, pažinimo negalia ir kitais apribojimais galėtų prasmingai ir efektyviai bendrauti su elementu. Ignoruojant prieinamumo aspektus gali būti atskirta didelė jūsų potencialios auditorijos dalis, o tai gali sukelti neigiamą prekės ženklo suvokimą ir netgi teisinius padarinius regionuose, kuriuose galioja griežti prieinamumo įstatymai, pvz., Europos prieinamumo aktas (EAA) arba Amerikiečių su negalia įstatymas (ADA) Jungtinėse Amerikos Valstijose. Globaliu mastu prieinamumo prioritetizavimas išplečia jūsų pasiekiamumą ir demonstruoja įsipareigojimą įtraukti, o tai atsiliepia platesniam vartotojų ratui.
Pagrindiniai slankiklių valdiklių prieinamumo reikalavimai
Norint sukurti prieinamus slankiklių valdiklius, reikia atsižvelgti į kelias pagrindines sritis. Tai apima semantinį HTML, ARIA atributus, klaviatūros navigaciją, fokusavimo valdymą, spalvų kontrastą ir aiškius vaizdinius ženklus. Išsamiau išnagrinėkime kiekvieną iš jų:
1. Semantinis HTML: <input type="range"> elemento naudojimas
Prieinamo slankiklio pagrindas yra semantinio HTML elemento <input type="range">
naudojimas. Šis elementas suteikia pagrindinę slankiklio valdiklio struktūrą ir suteikia įgimtų prieinamumo pranašumų, palyginti su slankiklio kūrimu nuo nulio naudojant <div>
elementus ir JavaScript. <input type="range">
elementas leidžia naršyklėms ir pagalbinėms technologijoms atpažinti elementą kaip slankiklio valdiklį ir suteikia numatytąjį klaviatūros prieinamumo lygį.
Pavyzdys:
<input type="range" id="volume" name="volume" min="0" max="100" value="50">
Šis kodo fragmentas sukuria pagrindinį slankiklį garsumui valdyti, su minimalia reikšme 0, maksimalia reikšme 100 ir pradinis reikšme 50. Ši semantinė struktūra suteikia svarbų atspirties tašką prieinamumui.
2. ARIA atributai: semantinės prasmės gerinimas
Nors <input type="range">
elementas suteikia semantinį pagrindą, ARIA (Accessible Rich Internet Applications) atributai yra būtini norint suteikti pagalbinėms technologijoms išsamesnę informaciją apie slankiklio paskirtį, būseną ir santykius su kitais puslapio elementais. ARIA atributai neturi įtakos slankiklio išvaizdai ar funkcionalumui; jie yra skirti tik informacijai perduoti pagalbinėms technologijoms, pvz., ekrano skaitytuvams.
Pagrindiniai ARIA atributai slankiklių valdikliams:
aria-label
: Pateikia glaustą, žmogaus skaitomą slankiklio etiketę. Naudokite tai, kai nematoma etiketė. Pavyzdžiui:aria-label="Garsumo valdymas"
aria-labelledby
: Nurodo elemento, kuris pateikia matomą slankiklio etiketę, ID. Tai pageidaujamas metodas, kai yra matoma etiketė. Pavyzdžiui:aria-labelledby="volume-label"
, kur egzistuoja<label id="volume-label" for="volume">Garsumas</label>
.aria-valuemin
: Nurodo mažiausią leistiną slankiklio reikšmę. Tai atspindi<input type="range">
elementomin
atributą.aria-valuemax
: Nurodo didžiausią leistiną slankiklio reikšmę. Tai atspindi<input type="range">
elementomax
atributą.aria-valuenow
: Nurodo esamą slankiklio reikšmę. Tai atspindi<input type="range">
elementovalue
atributą ir turėtų būti dinamiškai atnaujinamas, kai slankiklio reikšmė keičiasi.aria-valuetext
: Pateikia žmogaus skaitomą esamos reikšmės atvaizdavimą. Tai ypač svarbu, kai reikšmė nėra paprastas skaičius, pavyzdžiui, data, laikas ar valiuta. Pavyzdžiui:aria-valuetext="$500 USD"
kainos filtrui.aria-orientation
: Nurodo slankiklio orientaciją (horizontalią arba vertikalią). Vertikaliems slankikliams naudokitearia-orientation="vertical"
. Numatytasis yra horizontalus.aria-describedby
: Nurodo elemento, kuris pateikia išsamesnį slankiklio paskirties aprašymą ar naudojimo instrukcijas, ID. Pavyzdžiui, jis gali nurodyti tekstą, kuriame paaiškinamos konkrečios reikšmės nustatymo pasekmės.
Pavyzdys su ARIA atributais:
<label id="price-label" for="price-range">Kainos diapazonas:</label>
<input type="range" id="price-range" name="price-range" min="0" max="1000" value="500" aria-labelledby="price-label" aria-valuemin="0" aria-valuemax="1000" aria-valuenow="500" aria-valuetext="$500 USD">
Šiame pavyzdyje naudojamas aria-labelledby
, kad slankiklis būtų susietas su matoma etikete, ir pateikiamas aria-valuetext
, kad būtų pranešta apie esamą kainą patogiu naudoti formatu. Atkreipkite dėmesį į "USD" naudojimą – tinkamo valiutos simbolio naudojimas yra svarbus tarptautiniams vartotojams. Galite netgi naudoti dinaminį valiutos keitiklį ir atitinkamai atnaujinti `aria-valuetext`.
3. Klaviatūros navigacija: veikimo užtikrinimas be pelės
Klaviatūros navigacija yra būtina vartotojams su judėjimo sutrikimais arba tiems, kurie nori naršyti svetaines naudodami klaviatūrą. Slankiklio valdiklis turi būti visiškai valdomas tik klaviatūra.
Būtini klaviatūros sąveikos veiksmai:
- Tab klavišas: Fokusas turėtų pereiti į slankiklį, kai vartotojas paspaudžia Tab klavišą. Elementų, gaunančių fokusą, tvarka turėtų atitikti logišką seką puslapyje (paprastai skaitymo tvarka).
- Rodyklių klavišai (kairėn/dešinėn arba aukštyn/žemyn): Kairysis ir dešinysis rodyklių klavišai (horizontaliems slankikliams) arba aukštyn ir žemyn rodyklių klavišai (vertikaliems slankikliams) turėtų didinti arba mažinti slankiklio reikšmę pagrįstu dydžiu. Didinimo/mažinimo dydis turėtų būti nuoseklus ir nuspėjamas.
- Home klavišas: Turėtų nustatyti slankiklio reikšmę į mažiausią reikšmę.
- End klavišas: Turėtų nustatyti slankiklio reikšmę į didžiausią reikšmę.
- Page Up/Page Down klavišai: Turėtų padidinti arba sumažinti slankiklio reikšmę didesniu dydžiu nei rodyklių klavišai (pvz., 10 % viso diapazono).
<input type="range">
elementas paprastai suteikia numatytąją klaviatūros navigaciją, bet gali prireikti patobulinimų, ypač pasirinktiniams slankikliams. JavaScript dažnai reikalingas norint teisingai įdiegti šias sąveikas ir dinamiškai atnaujinti aria-valuenow
ir aria-valuetext
atributus. Įsitikinkite, kad jūsų scenarijus tvarko kraštutinius atvejus, pvz., neleidžia reikšmei nukristi žemiau minimumo ar viršyti maksimumo.
JavaScript pavyzdys (iliustracinis):
```javascript const slider = document.getElementById('volume'); slider.addEventListener('keydown', (event) => { let currentValue = parseInt(slider.value); const step = 5; // Didinimo/mažinimo žingsnis const minValue = parseInt(slider.min); const maxValue = parseInt(slider.max); switch (event.key) { case 'ArrowLeft': currentValue = Math.max(minValue, currentValue - step); break; case 'ArrowRight': currentValue = Math.min(maxValue, currentValue + step); break; case 'Home': currentValue = minValue; break; case 'End': currentValue = maxValue; break; // Tvarkykite Page Up/Page Down panašiai default: return; // Išeikite, jei klavišas nesvarbus } slider.value = currentValue; slider.setAttribute('aria-valuenow', currentValue); slider.setAttribute('aria-valuetext', currentValue + '%'); // Pavyzdys: procentinis rodymas event.preventDefault(); // Neleiskite numatytajam naršyklės veiksmui }); ```
Šis JavaScript kodo fragmentas pateikia pagrindinį pavyzdį, kaip tvarkyti klaviatūros įvykius slankiklyje. Nepamirškite pritaikyti žingsnio dydžio, minimumo, maksimumo ir `aria-valuetext` pagal konkrečius jūsų slankiklio reikalavimus. Svarbu naudoti atitinkamus vienetus, pavyzdžiui, rodyti temperatūrą Celsijaus arba Farenheito laipsniais, atsižvelgiant į vartotojo vietą. Tai galima pasiekti naudojant geografinės vietos nustatymo API arba vartotojo nustatymus.
4. Fokusavimo valdymas: aiškių vaizdinių fokusavimo indikatorių teikimas
Kai vartotojas pereina į slankiklį naudodamas klaviatūrą, turėtų būti rodomas aiškus vaizdinis fokusavimo indikatorius. Šis indikatorius padeda vartotojams suprasti, kuris elementas šiuo metu yra fokuse. Numatytasis fokusavimo indikatorius, kurį pateikia naršyklės, ne visada gali būti pakankamas, ypač jei slankiklis turi pasirinktinę išvaizdą.
Geriausia fokusavimo indikatorių praktika:
- Naudokite CSS fokusavimo indikatoriui stilizuoti: CSS
:focus
pseudoklasė leidžia jums stilizuoti fokusavimo indikatorių. Venkite pašalinti numatytąjį fokusavimo indikatorių nepateikdami jo pakeitimo, nes tai gali labai apsunkinti klaviatūros navigaciją. - Užtikrinkite pakankamą kontrastą: Fokusavimo indikatorius turėtų turėti pakankamai kontrasto su aplinkiniu fonu. WCAG (Žiniatinklio turinio prieinamumo gairės) reikalauja, kad fokusavimo indikatoriai turėtų bent 3:1 kontrasto santykį.
- Apsvarstykite dydį ir formą: Fokusavimo indikatorius turėtų būti aiškiai matomas ir atskiriamas nuo kitų slankiklio vaizdinių elementų. Rėmelio, kontūro ar fono spalvos keitimas gali efektyviai paryškinti fokusuotą elementą.
CSS pavyzdys:
```css input[type="range"]:focus { outline: 2px solid #007bff; /* Mėlynas kontūras */ outline-offset: 2px; /* Sukuria tarpą tarp kontūro ir slankiklio */ } ```
Šis CSS kodas prideda mėlyną kontūrą aplink slankiklį, kai jis gauna fokusą. outline-offset
ypatybė sukuria šiek tiek erdvės tarp kontūro ir slankiklio, todėl indikatorius tampa labiau matomas. Vartotojams su regėjimo sutrikimais galimybė pritaikyti fokusavimo indikatorių (spalva, storis, stilius) gali žymiai pagerinti naudojimą.
5. Spalvų kontrastas: matomumo užtikrinimas vartotojams su regėjimo sutrikimais
Spalvų kontrastas yra svarbus prieinamumo aspektas, ypač vartotojams, turintiems prastą regėjimą arba spalvų aklumą. Slankiklio vaizdiniai elementai, įskaitant takelį, nykštį ir visas etiketes ar instrukcijas, turėtų turėti pakankamą kontrastą su jų fono spalvomis.
WCAG reikalavimai spalvų kontrastui:
- Tekstas ir teksto vaizdai: Turi turėti bent 4,5:1 kontrasto santykį su fonu.
- Didelis tekstas (18pt arba 14pt paryškintas): Turi turėti bent 3:1 kontrasto santykį su fonu.
- Ne teksto kontrastas (UI komponentai ir grafiniai objektai): Turi turėti bent 3:1 kontrasto santykį su gretima(mis) spalva(mis). Tai taikoma slankiklio takeliui ir nykščiui.
Norėdami patikrinti, ar jūsų slankiklis atitinka šiuos kontrasto reikalavimus, naudokite spalvų kontrasto analizės įrankius (prieinamus internete ir kaip naršyklės plėtinius). Atminkite, kad skirtingos kultūros gali turėti skirtingas asociacijas su spalvomis. Nenaudokite spalvos kaip vienintelės informacijos perdavimo priemonės (pvz., naudokite raudoną spalvą, kad nurodytumėte klaidos būseną, nepateikdami teksto ar piktogramos). Alternatyvių vaizdinių ženklų, pvz., piktogramų ar raštų, pateikimas yra būtinas vartotojams, kurie negali atskirti spalvų.
6. Aiškūs vaizdiniai ženklai: prasmingo grįžtamojo ryšio teikimas
Vaizdiniai ženklai yra būtini norint vartotojams suteikti prasmingą grįžtamąjį ryšį apie slankiklio būseną ir reikšmę. Šie ženklai turėtų būti aiškūs, intuityvūs ir nuoseklūs skirtingose naršyklėse ir įrenginiuose.
Svarbūs vaizdiniai ženklai:
- Nykščio padėtis: Nykščio padėtis turėtų aiškiai rodyti esamą slankiklio reikšmę.
- Takelio užpildymas: Užpildydami takelį vienoje nykščio pusėje, galite vizualiai pavaizduoti pasirinktos reikšmės progresą ar dydį.
- Etiketės ir patarimai: Pateikite etiketes, kuriose aiškiai nurodomas slankiklio tikslas, ir, jei pageidaujate, rodyti patarimą, kuriame rodoma esama reikšmė, kai vartotojas bendrauja su slankikliu.
- Vaizdinis grįžtamasis ryšys apie sąveiką: Pateikite vaizdinį grįžtamąjį ryšį (pvz., spalvos ar dydžio pasikeitimą), kai vartotojas bendrauja su slankikliu, pvz., kai nykštys velkamas arba paspaudžiamas klavišas.
Apsvarstykite vartotojus su pažinimo negalia, vengdami per daug sudėtingo vizualinio dizaino ar animacijų, kurios gali blaškyti arba klaidinti. Laikykite vizualinį dizainą paprastą ir sutelkite dėmesį į aiškios ir glaustos informacijos teikimą.
Testavimas ir patvirtinimas
Įdiegus prieinamumo funkcijas, būtina atlikti išsamų testavimą ir patvirtinimą, kad slankiklio valdiklis būtų tikrai prieinamas. Tai apima:
- Rankinis testavimas: Išbandykite slankiklį naudodami klaviatūrą ir pelę, kad įsitikintumėte, jog jis yra visiškai valdomas ir aiškiai matomas vaizdinis fokusavimo indikatorius.
- Ekrano skaitytuvo testavimas: Išbandykite slankiklį naudodami ekrano skaitytuvą (pvz., NVDA, JAWS, VoiceOver), kad patikrintumėte, ar ARIA atributai yra teisingai įgyvendinti ir ar ekrano skaitytuvas pateikia tikslią ir prasmingą informaciją apie slankiklio paskirtį, būseną ir reikšmę.
- Automatizuotas prieinamumo testavimas: Naudokite automatizuotus prieinamumo testavimo įrankius (pvz., axe DevTools, WAVE), kad nustatytumėte galimas prieinamumo problemas. Šie įrankiai gali padėti jums užfiksuoti dažnas klaidas, pvz., trūkstamus ARIA atributus arba nepakankamą spalvų kontrastą.
- Vartotojų testavimas: Įtraukite vartotojus su negalia į testavimo procesą, kad gautumėte jų atsiliepimus apie slankiklio naudojimą ir prieinamumą. Vartotojų testavimas yra neįkainojamas nustatant problemas, kurios gali būti neakivaizdžios atliekant automatizuotą ar rankinį testavimą.
Atminkite, kad prieinamumo testavimas yra nuolatinis procesas. Reguliariai išbandykite savo slankiklių valdiklius, kai atliekate pakeitimus savo svetainėje ar programoje, kad užtikrintumėte prieinamumą.
Pasirinktiniai slankiklių valdikliai: įspėjimas
Nors <input type="range">
elementas suteikia tvirtą prieinamumo pagrindą, kartais gali tekti sukurti pasirinktinį slankiklio valdiklį, kad atitiktų konkrečius dizaino reikalavimus. Tačiau pasirinktinio slankiklio kūrimas nuo nulio žymiai padidina prieinamumo užtikrinimo sudėtingumą. Jei nuspręsite sukurti pasirinktinį slankiklį, turite atidžiai įgyvendinti visus šiame vadove aprašytus prieinamumo reikalavimus, įskaitant semantinį HTML (naudojant atitinkamus ARIA vaidmenis), klaviatūros navigaciją, fokusavimo valdymą, spalvų kontrastą ir aiškius vaizdinius ženklus. Jei įmanoma, dažnai geriau patobulinti įprastinio <input type="range">
elemento stilių, o ne kurti visiškai pasirinktinį komponentą. Jei pasirinktinis slankiklis yra būtinas, pirmiausia pirmenybę teikite prieinamumui ir skirkite pakankamai laiko ir išteklių išsamiam testavimui ir patvirtinimui.
Tarptautinimo aspektai
Kurant slankiklių valdiklius pasaulinei auditorijai, atsižvelkite į šiuos tarptautinimo (i18n) aspektus:
- Kalba: Įsitikinkite, kad visos etiketės, instrukcijos ir klaidos pranešimai yra išversti į atitinkamas kalbas. Norėdami valdyti vertimus, naudokite patikimą tarptautinimo sistemą.
- Skaičių formatavimas: Naudokite tinkamą skaičių formatavimą vartotojo lokalizacijai. Tai apima dešimtainius skyriklius, tūkstančių skyriklius ir valiutos simbolius.
- Datos ir laiko formatavimas: Jei slankiklis naudojamas norint pasirinkti datą arba laiką, naudokite tinkamą datos ir laiko formatavimą vartotojo lokalizacijai.
- Skaitymo kryptis: Apsvarstykite skaitymą iš dešinės į kairę (RTL) kalbomis. Įsitikinkite, kad slankiklio išdėstymas ir vaizdiniai elementai yra teisingai atspindėti RTL kalboms. Norėdami automatiškai tvarkyti išdėstymo koregavimus, naudokite CSS logines ypatybes (pvz.,
margin-inline-start
vietojmargin-left
). - Kultūrinės konvencijos: Žinokite kultūrines konvencijas dėl spalvų, simbolių ir metaforų. Venkite naudoti simbolius ar metaforas, kurios kai kuriose kultūrose gali būti įžeidžiančios arba klaidinančios.
Išvada: įtraukesnio žiniatinklio kūrimas
Prieinamų slankiklių valdiklių kūrimas yra būtinas norint sukurti įtraukesnį žiniatinklį. Laikydamiesi šiame vadove pateiktų gairių, galite užtikrinti, kad jūsų diapazono įvestys būtų prieinamos visiems, nepaisant jų galimybių. Atminkite, kad prieinamumas yra ne tik techninis reikalavimas; tai etikos ir socialinės atsakomybės klausimas. Teikdami pirmenybę prieinamumui, galite sukurti geresnę naudotojo patirtį visiems ir prisidėti prie teisingesnio skaitmeninio pasaulio.
Šis išsamus vadovas pateikė išsamias rekomendacijas, kaip sukurti prieinamus slankiklių valdiklius. Atminkite, kad atitiktis yra tik pradžia; siekite sukurti intuityvią ir patogią patirtį visiems. Priėmę įtraukią dizaino praktiką, galite užtikrinti, kad jūsų svetainės ir programos būtų prieinamos visiems, nepaisant jų galimybių ar vietos. Prieinamumo prioritetizavimas yra ne tik etiškai atsakingas, bet ir išplečia jūsų pasiekiamumą ir stiprina jūsų prekės ženklo reputaciją vis labiau įvairiame ir tarpusavyje susijusiame pasaulyje.