Lietuvių

Išsami analizė, kaip kurti prieinamus iššokančius pranešimus. Sužinokite WCAG principus, ARIA roles ir UX geriausias praktikas, kad sukurtumėte įtraukius laikinuosius pranešimus pasaulinei auditorijai.

Iššokantys pranešimai: Prieinamų, vartotojui draugiškų laikinųjų pranešimų kūrimas

Sparčiai besivystančiame skaitmeninių sąsajų pasaulyje komunikacija tarp sistemos ir jos vartotojo yra nepaprastai svarbi. Mes pasikliaujame vizualinėmis užuominomis, kad suprastume savo veiksmų rezultatus. Vienas iš labiausiai paplitusių UI modelių šiam grįžtamajam ryšiui yra „toast“ pranešimas – mažas, ne modalinis iššokantis langas, teikiantis laikiną informaciją. Nesvarbu, ar tai patvirtinimas „Žinutė išsiųsta“, pranešimas „Failas įkeltas“, ar įspėjimas „Praradote ryšį“, iššokantys pranešimai yra subtilūs vartotojo grįžtamojo ryšio darbiniai arkliai.

Tačiau jų laikinas ir subtilus pobūdis yra dviašmenis kardas. Nors kai kuriems vartotojams jie yra minimaliai įkyrūs, būtent ši savybė dažnai juos paverčia visiškai neprieinamais kitiems, ypač tiems, kurie pasikliauja pagalbinėmis technologijomis, pavyzdžiui, ekrano skaitytuvais. Neprieinamas iššokantis pranešimas yra ne tik menkas nepatogumas; tai tyli nesėkmė, paliekanti vartotojus neaiškume ir nusivylusius. Vartotojas, kuris negali suvokti pranešimo „Nustatymai išsaugoti“, gali bandyti juos išsaugoti dar kartą arba tiesiog išeiti iš programos, nebūdamas tikras, ar jo pakeitimai buvo sėkmingi.

Šis išsamus vadovas skirtas programuotojams, UX/UI dizaineriams ir produktų vadovams, norintiems kurti tikrai įtraukius skaitmeninius produktus. Mes išnagrinėsime iššokančių pranešimų prieinamumo iššūkius, gilinsimės į techninius sprendimus naudojant ARIA (Accessible Rich Internet Applications) ir apibrėšime dizaino geriausias praktikas, kurios naudingos visiems. Išmokime, kaip padaryti šiuos laikinuosius pranešimus nuolatine prieinamos vartotojo patirties dalimi.

Iššokančių pranešimų prieinamumo iššūkis

Norėdami suprasti sprendimą, pirmiausia turime giliai suprasti problemą. Tradiciniai iššokantys pranešimai dažnai neatitinka kelių prieinamumo reikalavimų dėl savo pagrindinių dizaino principų.

1. Jie yra trumpalaikiai ir priklauso nuo laiko

Pagrindinė iššokančio pranešimo savybė yra jo trumpalaikis egzistavimas. Jis pasirodo kelioms sekundėms ir tada grakščiai išnyksta. Matančiam vartotojui tai paprastai yra pakankamai laiko perskaityti pranešimą. Tačiau ekrano skaitytuvo vartotojui tai yra didelė kliūtis. Ekrano skaitytuvas skelbia turinį nuosekliai. Jei vartotojas yra susitelkęs į formos laukelį ar klauso kito skaitomo turinio, pranešimas gali pasirodyti ir išnykti anksčiau, nei ekrano skaitytuvas jį pasieks. Tai sukuria informacijos spragą, pažeidžiančią pagrindinį prieinamumo principą: informacija turi būti suvokiama.

2. Jie negauna fokuso

Iššokantys pranešimai sukurti taip, kad būtų neįkyrūs. Jie sąmoningai neatima fokuso nuo dabartinės vartotojo užduoties. Matantis vartotojas gali toliau rašyti teksto laukelyje, kol pasirodo pranešimas „Juodraštis išsaugotas“. Tačiau vartotojams, kurie naudojasi tik klaviatūra, ir ekrano skaitytuvų vartotojams, fokusas yra pagrindinis naršymo ir sąveikos metodas. Kadangi iššokantis pranešimas niekada nepatenka į fokuso eilę, jis yra nematomas linijiniam naršymo keliui. Vartotojas turėtų rankiniu būdu ieškoti visame puslapyje pranešimo, apie kurio egzistavimą jis net nežino.

3. Jie atsiranda be konteksto

Iššokantys pranešimai dažnai atsiranda atskiroje ekrano srityje, pavyzdžiui, viršutiniame dešiniajame ar apatiniame kairiajame kampe, toli nuo elemento, kuris juos sukėlė (pvz., „Išsaugoti“ mygtuko formos viduryje). Šį erdvinį atskyrimą lengvai įveikia rega, tačiau jis pažeidžia loginę seką ekrano skaitytuvams. Pranešimas, jei jis apskritai įvyksta, gali atrodyti atsitiktinis ir nesusijęs su paskutiniu vartotojo veiksmu, sukeldamas painiavą.

Sąsaja su WCAG: keturi prieinamumo ramsčiai

Žiniatinklio turinio prieinamumo gairės (WCAG) remiasi keturiais principais. Neprieinami iššokantys pranešimai pažeidžia kelis iš jų.

Techninis sprendimas: ARIA „Live Regions“ į pagalbą

Raktas į prieinamų iššokančių pranešimų kūrimą slypi galingoje ARIA specifikacijos dalyje: „live regions“ (gyvosiose srityse). ARIA „live region“ yra puslapio elementas, kurį jūs pažymite kaip „gyvą“. Tai nurodo pagalbinėms technologijoms stebėti šį elementą dėl bet kokių jo turinio pakeitimų ir pranešti apie tuos pakeitimus vartotojui, neperkeliant jo fokuso.

Apgaubdami savo iššokančius pranešimus „live region“ sritimi, galime užtikrinti, kad jų turinys bus paskelbtas ekrano skaitytuvų, kai tik jis pasirodys, nepriklausomai nuo to, kur yra vartotojo fokusas.

Pagrindiniai ARIA atributai iššokantiems pranešimams

Trys pagrindiniai atributai veikia kartu, kad sukurtų veiksmingą „live region“ iššokantiems pranešimams:

1. Atributas role

Atributas `role` apibrėžia semantinę elemento paskirtį. Kalbant apie „live regions“, reikia atsižvelgti į tris pagrindines roles:

2. Atributas aria-live

Nors `role` atributas dažnai numato tam tikrą `aria-live` elgseną, galite jį nustatyti aiškiai, kad turėtumėte daugiau kontrolės. Jis nurodo ekrano skaitytuvui, *kaip* pranešti apie pakeitimą.

3. Atributas aria-atomic

Šis atributas nurodo ekrano skaitytuvui, ar pranešti visą „live region“ turinį, ar tik tas dalis, kurios pasikeitė.

Viską sujungiame: kodo pavyzdžiai

Pažiūrėkime, kaip tai įgyvendinti. Geriausia praktika yra turėti specialų iššokančių pranešimų konteinerio elementą, esantį DOM'e nuo puslapio įkėlimo. Tada dinamiškai įterpiate ir pašalinate atskirus pranešimus šiame konteineryje.

HTML struktūra

Įdėkite šį konteinerį savo `` žymės pabaigoje. Jis vizualiai pozicionuojamas su CSS, tačiau jo vieta DOM'e neturi reikšmės ekrano skaitytuvo pranešimams.

<!-- Mandagi „live region“ standartiniams pranešimams -->
<div id=\"toast-container-polite\" 
     role=\"status\" 
     aria-live=\"polite\" 
     aria-atomic=\"true\">
  <!-- Iššokantys pranešimai bus dinamiškai įterpiami čia -->
</div>

<!-- Atkakli „live region“ skubiems įspėjimams -->
<div id=\"toast-container-assertive\" 
     role=\"alert\" 
     aria-live=\"assertive\" 
     aria-atomic=\"true\">
  <!-- Skubūs pranešimai bus dinamiškai įterpiami čia -->
</div>

„JavaScript“ kodas mandagiam pranešimui

Štai „vanilla JavaScript“ funkcija, rodanti mandagų iššokantį pranešimą. Ji sukuria pranešimo elementą, prideda jį į mandagų konteinerį ir nustato laiko limitą jam pašalinti.

function showPoliteToast(message, duration = 5000) {
  const container = document.getElementById('toast-container-polite');

  // Sukurti pranešimo elementą
  const toast = document.createElement('div');
  toast.className = 'toast';
  toast.textContent = message;

  // Pridėti pranešimą į konteinerį
  container.appendChild(toast);

  // Nustatyti laiko limitą pranešimui pašalinti
  setTimeout(() => {
    container.removeChild(toast);
  }, duration);
}

// Naudojimo pavyzdys:
document.getElementById('save-button').addEventListener('click', () => {
  // ... išsaugojimo logika ...
  showPoliteToast('Jūsų nustatymai sėkmingai išsaugoti.');
});

Kai šis kodas įvykdomas, `div` su `role="status"` yra atnaujinamas. Ekrano skaitytuvas, stebintis puslapį, aptiks šį pakeitimą ir praneš: „Jūsų nustatymai sėkmingai išsaugoti“, nepertraukdamas vartotojo darbo eigos.

Dizaino ir UX geriausios praktikos tikrai įtraukiems iššokantiems pranešimams

Techninis įgyvendinimas su ARIA yra pagrindas, tačiau puiki vartotojo patirtis reikalauja apgalvoto dizaino. Prieinamas iššokantis pranešimas taip pat yra patogesnis visiems.

1. Laikas yra viskas: suteikite vartotojams kontrolę

3 sekundžių trukmės pranešimas gali būti tinkamas kai kuriems, tačiau jis yra per trumpas vartotojams su silpnu regėjimu, kuriems reikia daugiau laiko skaityti, arba vartotojams su kognityvinėmis negaliomis, kuriems reikia daugiau laiko apdoroti informaciją.

2. Vizualinis aiškumas ir išdėstymas

Kaip atrodo ir kur pasirodo iššokantis pranešimas, labai veikia jo efektyvumą.

3. Rašykite aiškius ir glaustus mikrotekstus

Pats pranešimas yra pranešimo esmė. Pasirūpinkite, kad jis būtų vertingas.

4. Nenaudokite iššokančių pranešimų kritinei informacijai

Tai yra auksinė taisyklė. Jei vartotojas *privalo* pamatyti pranešimą ar su juo sąveikauti, nenaudokite iššokančio pranešimo. Iššokantys pranešimai skirti papildomam, ne kritiniam grįžtamajam ryšiui. Kritinėms klaidoms, patvirtinimo pranešimams, reikalaujantiems vartotojo veiksmo, arba patvirtinimams dėl destruktyvių veiksmų (pavyzdžiui, failo ištrynimo), naudokite patikimesnį modelį, pavyzdžiui, modalinį dialogo langą arba įterptąjį įspėjimą, kuris gauna fokusą.

Prieinamų iššokančių pranešimų testavimas

Negalite būti tikri, kad jūsų įgyvendinimas yra prieinamas, neišbandę jo su įrankiais, kuriuos jūsų vartotojai iš tikrųjų naudoja. Rankinis testavimas yra privalomas dinamiškiems komponentams, tokiems kaip iššokantys pranešimai.

1. Testavimas su ekrano skaitytuvu

Susipažinkite su populiariausiais ekrano skaitytuvais: NVDA (nemokamas, skirtas „Windows“), JAWS (mokamas, skirtas „Windows“) ir „VoiceOver“ (įdiegtas, skirtas „macOS“ ir „iOS“). Įjunkite ekrano skaitytuvą ir atlikite veiksmus, kurie sukelia jūsų iššokančius pranešimus.

Paklauskite savęs:

2. Testavimas tik klaviatūra

Atjunkite pelę ir naršykite savo svetainėje naudodami tik klaviatūrą („Tab“, „Shift+Tab“, „Enter“, „Spacebar“).

3. Vizualiniai ir naudojamumo patikrinimai

Išvada: kuriame įtraukesnį internetą, po vieną pranešimą

Iššokantys pranešimai yra maža, bet reikšminga vartotojo patirties dalis. Daugelį metų jie buvo dažna aklavietė žiniatinklio prieinamume, sukurianti varginančią patirtį pagalbinių technologijų vartotojams. Bet taip neturi būti.

Pasitelkdami ARIA „live regions“ galią ir laikydamiesi apgalvotų dizaino principų, galime paversti šiuos trumpalaikius pranešimus iš kliūčių į tiltus. Prieinamas iššokantis pranešimas yra ne tik techninis langelio pažymėjimas; tai įsipareigojimas aiškiai bendrauti su *visais* vartotojais. Tai užtikrina, kad kiekvienas, nepriklausomai nuo jo gebėjimų, gautų tą patį svarbų grįžtamąjį ryšį ir galėtų naudotis mūsų programomis su pasitikėjimu ir efektyvumu.

Padarykime prieinamus pranešimus pramonės standartu. Įtraukdami šias praktikas į savo dizaino sistemas ir kūrimo darbo eigas, galime sukurti įtraukesnį, patikimesnį ir vartotojui draugiškesnį internetą tikrai pasaulinei auditorijai.