Java, UX, HTML, CSS, WEB-design

Автоматизация тестирования программы чтения с экрана в macOS с помощью Auto VO


  • Кэмерон Кандифф

  • 0 Комментарии

Автоматизация тестирования программы чтения с экрана в macOS с помощью Auto VO

  • 6 минут чтения

  • Инструменты, Доступность

Краткое резюме ↬

Автоматизированное тестирование является важной частью любого программного проекта, включая тестирование на доступность. Инструменты для линтинга и интеграционного тестирования уже существуют, но как насчет сквозного тестирования с помощью реальных вспомогательных технологий? Так как я не видел этого раньше, я решил создать Auto VO, драйвер для программы чтения с экрана VoiceOver.

Если вы такой же фанат специальных возможностей, как я, или просто интересуетесь вспомогательными технологиями, вам понравится Auto-VO. Auto-VO — это модуль узла и интерфейс командной строки для автоматизированного тестирования веб-контента с помощью средства чтения с экрана VoiceOver в macOS.

Я создал Auto VO, чтобы разработчики, продакт-менеджеры и специалисты по контролю качества могли быстрее выполнять повторяемые автоматизированные тесты с помощью реальных вспомогательных технологий, не пугаясь необходимости учиться пользоваться программой чтения с экрана.

Погнали!

Сначала давайте посмотрим на это в действии, а потом я более подробно расскажу о том, как это работает. Вот работает auto-vo CLI на smashingmagazine.com, чтобы получить весь вывод VoiceOver в виде текста.

$ auto-vo --url https://smashingmagazine.com --limit 200 > output.txt
$ cat output.txt
link Jump to all topics
link Jump to list of all articles
link image Smashing Magazine
list 6 items
link Articles
link Guides 2 of 6
link Books 3 of 6
link Workshops 4 of 6
link Membership 5 of 6
More menu pop up collapsed button 6 of 6
end of list
end of navigation
...(truncated)

Похоже на разумную структуру страницы: у нас есть пропущенные навигационные ссылки, хорошо структурированные списки и семантическая навигация. Отличная работа! Однако давайте копнем немного глубже. Какова структура заголовка?

$ cat output.txt | grep heading
heading level 2 link A Complete Guide To Accessibility Tooling
heading level 2 link Spinning Up Multiple WordPress Sites Locally With DevKinsta
heading level 2 link Smashing Podcast Episode 39 With Addy Osmani: Image Optimization
heading level 2 2 items A SMASHING GUIDE TO Accessible Front-End Components
heading level 2 2 items A SMASHING GUIDE TO CSS Generators & Tools
heading level 2 2 items A SMASHING GUIDE TO Front-End Performance 2021
heading level 4 LATEST POSTS
heading level 1 link When CSS Isn’t Enough: JavaScript Requirements For Accessible Components
heading level 1 link Web Design Done Well: Making Use Of Audio
heading level 1 link Useful Front-End Boilerplates And Starter Kits
heading level 1 link Three Front-End Auditing Tools I Discovered Recently
heading level 1 link Meet :has, A Native CSS Parent Selector (And More)
heading level 1 link From AVIF to WebP: A New Smashing Book By Addy Osmani

Хм! Что-то не так с нашей иерархией заголовков. Мы должны увидеть схему с одним заголовком первого уровня и упорядоченной иерархией после него. Вместо этого мы видим некоторую мешанину уровня 1, уровня 2 и ошибочного уровня 4. Это требует внимания, поскольку влияет на удобство навигации пользователей программ чтения с экрана при навигации по странице.

Вывод программы чтения с экрана в виде текста — это здорово, потому что такой анализ становится намного проще.

Некоторая предыстория

VoiceOver — это средство чтения с экрана в macOS. Средства чтения с экрана позволяют людям читать содержимое приложения вслух, а также взаимодействовать с содержимым. Это означает, что люди со слабым зрением или слепые теоретически могут получить доступ к контенту, включая веб-контент. Однако на практике 98% целевых страниц в Интернете имеют очевидные ошибки, которые можно выявить с помощью автоматизированного тестирования и проверки.

Существует множество инструментов для автоматизированного тестирования и проверки, в том числе AccessLint.com для автоматической проверки кода (раскрытие информации: я создал AccessLint) и Axe, обычное средство автоматизации. Эти инструменты важны и полезны, но они являются лишь частью общей картины. Ручное тестирование не менее, а может быть, и более важно, но требует больше времени и может быть пугающим.

Возможно, вы слышали совет «просто включите программу чтения с экрана и слушайте», чтобы получить представление о слепом опыте. Я думаю, что это неправильно. Программы для чтения с экрана — это сложные приложения, на освоение которых могут уйти месяцы или годы, и поначалу они сложны. Случайное использование его для имитации слепого опыта может привести к тому, что вы пожалеете слепых людей или, что еще хуже, попытаетесь «исправить» этот опыт неправильным образом.

Я видел, как люди впадали в панику, когда включали VoiceOver, не зная, как его отключить. Auto-VO управляет жизненным циклом программы чтения с экрана за вас. Он автоматизирует запуск, управление и закрытие VoiceOver, поэтому вам не нужно этого делать. Вместо того, чтобы пытаться слушать и не отставать, выходные данные возвращаются в виде текста, который вы затем можете прочитать, оценить и зафиксировать для дальнейшего использования в качестве ссылки в ошибке или для автоматического создания моментальных снимков.

использование

Предостережение

Прямо сейчас, из-за необходимости включения AppleScript для VoiceOver, для запуска может потребоваться пользовательская конфигурация компьютеров сборки CI.

Сценарий 1: ОК и приемка

Допустим, у меня (разработчика) есть дизайн с синими аннотациями, где дизайнер добавил описания таких вещей, как доступное имя и роль. После создания функции и просмотра разметки в инструментах разработчика Chrome или Firefox я хочу вывести результаты в текстовый файл, чтобы, когда я отмечаю функцию как завершенную, мой менеджер по программному обеспечению мог сравнить вывод программы чтения с экрана со спецификациями дизайна. . Я могу сделать это с помощью CLI auto-vo и вывести результаты в файл или на терминал. Мы видели пример этого ранее в статье:

$ auto-vo --url https://smashingmagazine.com --limit 100

Сценарий 2: Разработка через тестирование

И вот я снова в роли разработчика, создаю свою функцию с помощью аннотированного дизайна. Я хочу протестировать контент, чтобы потом не пришлось рефакторить разметку, чтобы она соответствовала дизайну. Я могу сделать это, используя модуль узла auto-vo, импортированный в мою предпочитаемую программу запуска тестов, например Mocha.

$ npm install --save-dev auto-vo
import { run } from 'auto-vo';
import { expect } from 'chai';

describe('loading example.com', async () => {
  it('returns announcements', async () => {
    const options = { url: 'https://www.example.com', limit: 10, until: 'Example' };

    const announcements = await run(options);

    expect(announcements).to.include.members(['Example Domain web content']);
  }).timeout(5000);
});

Под капотом

Auto-VO использует комбинацию сценариев оболочки и AppleScript для управления VoiceOver. Копаясь в приложении VoiceOver, я наткнулся на интерфейс командной строки, который поддерживает запуск VoiceOver из командной строки.

/System/Library/CoreServices/VoiceOver.app/Contents/MacOS/VoiceOverStarter

Затем ряд исполняемых файлов JavaScript управляет инструкциями AppleScript для навигации и захвата объявлений VoiceOver. Например, этот скрипт получает последнюю фразу из объявлений программы чтения с экрана:

function run() {
  const voiceOver = Application('VoiceOver');
  return voiceOver.lastPhrase.content();
}

В заключение

Я хотел бы услышать ваш опыт с auto-vo, и приветствуйте участие в GitHub. Попробуйте и дайте мне знать, как это работает!

Еще после прыжка! Продолжить чтение ниже ↓
Сокрушительная редакция
(вф, ил)




Source: https://smashingmagazine.com

Заключение

Вы ознакомились с статьей — Автоматизация тестирования программы чтения с экрана в macOS с помощью Auto VO

Пожалуйста оцените статью, и напишите комментарий.

Похожие статьи

Добавить комментарий

Ваш адрес email не будет опубликован.

Краткое описание по статье Автоматизация тестирования программы чтения с экрана в macOS с помощью Auto VO

Название: Автоматизация тестирования программы чтения с экрана в macOS с помощью Auto VO . Краткое описание: ⭐ Кэмерон Ка . Дата публикации: 16.01.2022 . Автор: Алишер Валеев .

Для чего создан сайт Novosti-Nedeli.ru

Данный сайт посвящен новостям мира и мира технологий . Также тут вы найдете руководства по различным девайсам.

Сколько лет сайту?

Возраст составляет 3 года

Кнопка «Наверх»