Използваемост и достъпност
Накратко: Използваемостта не е вкус: мери се колко хора свършват задачата, за колко време и с колко грешки. Достъпността има готово мерило, WCAG 2.2, с критерии, които се проверяват един по един. Критерият за приемане казва кой, коя задача, при какви условия и каква граница.
Проблем
На демото беше удобно
Новото плащане на магазина минава демото с овации. Критерият за приемане беше „Плащането е удобно за клиента“. Всички в стаята се съгласиха, че е.
След пускането една трета от клиентите на телефон спират на формата за адреса. Полето за пощенски код приема само цифри, а клавиатурата на телефона показва букви. Клиент с четец на екрана чува „поле, поле, поле“ и не знае кое е за какво. Никой от залата не е бил нито едното, нито другото.
Идеята
Използваемостта се мери
„Удобно“ е мнение. Използваемостта е измерима: колко добре определени хора свършват определена задача при определени условия. Мери се с три неща:
- ефективност: свършиха ли задачата? 8 от 10 нови клиенти платиха без помощ;
- производителност (efficiency): за колко време и с колко грешки? Под 3 минути, най-много една грешка в полетата;
- удовлетвореност: как се чувстват? Оценка по въпросник, например над 70 от 100.
Всяко от трите има нужда от кой (нов клиент на телефон), каква задача (плаща поръчка с доставка) и каква граница. Без тях няма тест, който да падне.
По-точно, за любопитните
Определението е от ISO 9241-11: степента, в която продукт може да се ползва от определени потребители за постигане на определени цели с ефективност (effectiveness), производителност (efficiency) и удовлетвореност (satisfaction) в определен контекст на ползване. Популярен въпросник за удовлетвореността е System Usability Scale (SUS) на Джон Брук: 10 въпроса, резултат от 0 до 100. В ISO/IEC 25010:2023 използваемостта на продукта е характеристиката възможност за взаимодействие (interaction capability), с подхарактеристики като разпознаваемост на уместността, научаемост, работоспособност, защита от грешки на потребителя, ангажираност, приобщаване (inclusivity), помощ за потребителя и самоописателност.
Пробвай
Кое се мери?
Идеята
Достъпността има готово мерило
Достъпността е използваемост за всички: за човек с четец на екрана, само с клавиатура, с лошо зрение, с треперещи ръце. За нея не трябва да измисляш мерило: има WCAG (Web Content Accessibility Guidelines) на W3C.
WCAG 2.2 е списък от критерии за успех (success criteria) на три нива: A (най-малкото), AA (обичайната цел) и AAA. Всеки критерий се проверява поотделно и или минава, или не:
- обикновеният текст има контраст поне 4,5 : 1 спрямо фона (AA);
- всичко работи и с клавиатура (A);
- фокусът се вижда (AA);
- грешката във формата е описана с текст, не само с цвят (A);
- целта за натискане е поне 24 × 24 пиксела или има достатъчно място около нея (AA, ново в 2.2).
Затова изискването „Страницата за плащане отговаря на WCAG 2.2, ниво AA“ е добро: то сочи списък от проверими критерии. Как изглежда това в HTML (роля, име, фокус), има в урока Достъпност от курса по уеб интерфейси.
По-точно, за любопитните
WCAG 2.2 е препоръка на W3C от октомври 2023 г. В ЕС Европейският акт за достъпността (директива 2019/882) важи от 28 юни 2025 г. и за онлайн търговията. Хармонизираният стандарт EN 301 549 сочи WCAG, ниво AA. Автоматичните инструменти (axe, Lighthouse) хващат само част от проблемите, най-често контраста и липсващите етикети. Дали съобщението за грешка има смисъл и дали редът на Tab е логичен, проверява човек.
Пробвай
Минава ли WCAG?
Идеята
Критерият, който се приема
Изискването за използваемост се пише като всеки критерий за приемане, с правило и примери. Например за плащането:
# language: bgФункционалност: Плащане само с клавиатура
Сценарий: Клиент без мишка плаща поръчката Дадено клиент с поръчка за 62,40 €, който ползва само клавиатура Когато мине формата за плащане с Tab, Enter и стрелките То плаща поръчката, без да ползва мишка И вижда кое поле е на фокус на всяка стъпкаТези сценарии не се пускат срещу еталон. Изпълнява ги човек или инструмент. Но са на същия език като функционалните и стоят в същата матрица.
Мерилата за използваемост (8 от 10, под 3 минути) се проверяват с тест с потребители: пет до осем души от групата, на която е изискването, вършат задачата, а ти гледаш, мериш и не помагаш.
По-точно, за любопитните
CT-AcT v1.0, глава 4, е посветена на приемното тестване на нефункционалните изисквания, с отделни раздели за използваемостта и потребителското преживяване (user experience), за производителността и за сигурността. Програмата държи на същото: нефункционалното изискване се приема, когато има мерило, договорено с бизнеса преди теста. Често цитираното „5 потребители намират повечето проблеми“ е на Якоб Нилсен и важи за кратки кръгове тест, поправка и нов тест, не за един голям тест.
Упражнение
Изискване за използваемост
1. Плащането. Рецензирай изискването на дизайнера.
Отбележи думите, които правят изискването непроверимо, и избери какъв е проблемът във всяка.
Натисни думите, които са проблем; отново, за да махнеш отметката. Със стрелките се минава от дума на дума.
Проблемите в текста
- „интуитивно“ непроверимо: Интуитивно за кого и как се мери? Мерило може да е „8 от 10 нови клиенти плащат без помощ“ или време за задачата, като последното изречение.
- „потребителите“ без роля: Кои: нови клиенти, редовни, хора на телефон, хора с четец на екрана? Различните групи дават различни резултати, а изискването трябва да каже за кого е.
- „ясно“ непроверимо: Ясно за кого? Мерилото може да е WCAG: грешката е описана с текст до полето, казва какво да се поправи и се чете от четеца на екрана, не е само червена рамка.
- „достъпна за хора с увреждания“ непроверимо: Достъпна по кое мерило? Обичайното е „отговаря на WCAG 2.2, ниво AA“. Тогава всеки критерий се проверява поотделно.
Последното изречение е единственото, което вече се мери: нов клиент, задача, граница. Останалите стават такива, когато получат кой, мерило и граница: за достъпността мерилото е готово, WCAG 2.2, ниво AA.
Тест
Провери се
Свързани уроци
Раздел „Свързани уроци“- Нужно отпреди: Критерии за приемане · Нивата на тестване · Видовете тестване · Тестването в жизнения цикъл
- Продължава в: Защо и какво да автоматизираш · API и потребителски интерфейс
- Задачи по темата: Нефункционално