Доступность киосков

Киосковый режим ChromeOS запускает приложение и блокирует его в полноэкранном режиме без необходимости авторизации пользователя. Киосковый режим предлагает удобный и эффективный способ доступа к информации и услугам в контролируемом и целенаправленном режиме. Но поскольку работа в киосковом режиме строго контролируется, важно обеспечить доступность киосковых приложений для всех. Улучшение доступности киосков может помочь расширить охват, снизив барьеры для доступа к информации, и повысить удовлетворенность клиентов за счет содействия инклюзивности.

Приложения, работающие в режиме киоска, являются веб-приложениями, поэтому к ним применяются лучшие практики обеспечения доступности веб-сайтов:

  • Следуйте рекомендациям по обеспечению доступности веб-контента ( WCAG 2 ). Даже при развертывании киосковых приложений внутри компании, лучший способ обеспечить доступность — например, удобство использования программ чтения с экрана — это следовать рекомендациям WCAG 2. Вы также можете использовать другие отличные ресурсы по дизайну и разработке от специалистов по доступности, чтобы улучшить ваше киосковое приложение:
  • Предложите несколько способов ввода. Не полагайтесь на навигацию с помощью жестов. Пользователям может понадобиться клавиатура, мышь или Switch для взаимодействия с приложением.
  • Предлагайте несколько способов вывода информации. Не полагайтесь только на один тип вывода, например, аудио. Пользователям может потребоваться взаимодействовать с приложением полностью без звука или полностью без визуальных подсказок.
  • Протестируйте приложение и его оборудование на разнообразной аудитории. Не полагайтесь просто на соответствие передовым практикам: протестируйте их. Пользователи должны взаимодействовать с приложением-киоском как физически, так и в цифровом виде. Тестирование пользовательского опыта выявит области для улучшения.
    • Обязательно включите в тестирование разнообразную группу пользователей, чтобы выявить потенциальные проблемы с доступностью.
    • Протестируйте приложение для киоска на месте — в той среде и на том оборудовании, с которым оно будет использоваться.

Поскольку приложения для киосков работают в контролируемой среде, пользователи могут не иметь доступа к функциям специальных возможностей ChromeOS или аппаратным опциям, которые они обычно используют. Что касается доступности киосков ChromeOS, следует учитывать три уровня контроля:

  • Политики: Администраторы контролируют политики управляемых ими устройств, включая доступ к основным настройкам специальных возможностей киоска .
  • API: Разработчики могут управлять взаимодействием пользователя с их киосковым приложением с помощью сопутствующего расширения, которое вызывает API chrome.accessibilityFeatures .
  • Аппаратные устройства: Тип устройства и подключенные периферийные устройства определяют, как пользователь физически взаимодействует с киоском, включая устройства ввода, размеры экрана и платформы.

Эти уровни в значительной степени взаимозависимы и поэтому должны работать согласованно, чтобы обеспечить действительно доступный интерфейс приложения для киосков. Администраторы должны учитывать доступность при развертывании приложений для киосков, а разработчики должны осознавать, какое влияние административные настройки могут оказать на их приложение после развертывания.

Управление политиками для администраторов киосков

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

Администраторы могут найти настройки «Доступность киоска» в консоли администратора Google, перейдя в раздел «Устройства» > «Chrome» > «Настройки» > вкладка «Настройки устройства» .

Следует обратить внимание на две основные настройки:

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

Вы также можете настраивать функции специальных возможностей по отдельности. По умолчанию они настроены на параметр «Разрешить пользователю принимать решение», оставляя пользователю возможность включать или отключать функции специальных возможностей по своему усмотрению.

Примечание: Чтобы узнать больше о поведении каждой настройки, ознакомьтесь с полным списком функций специальных возможностей ChromeOS .

Расширение Chrome chrome.accessibilityFeatures API

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

Состояние функций специальных возможностей ChromeOS можно проверить с помощью API chrome.accessibilityFeatures . Если в консоли администратора установлено значение «Разрешить пользователю принимать решения», то функции специальных возможностей также можно контролировать через этот API. Это API расширения Chrome, поэтому его необходимо вызывать из сопутствующего расширения , работающего с киосковым приложением. Разработчики могут использовать этот API для проверки возможности управления каждой настройкой и взаимодействия с соответствующими встроенными функциями специальных возможностей ChromeOS.

API chrome.accessibilityFeatures имеет соответствующее свойство для каждой функции специальных возможностей . Каждое свойство представляет собой прототип type.ChromeSetting , который содержит следующие методы:

  • get() : для получения значения параметра.
  • set() : устанавливает значение параметра.
  • onChange() : добавляет обработчик событий при изменении настроек.
  • clear() : очищает настройки и восстанавливает значения по умолчанию.

Чтобы получить статус свойства, вызовите onChange() или get() , которые возвращают объект details через функцию обратного вызова со следующими соответствующими полями:

  • levelOfControl : Уровень контроля параметра. Перед вызовом set() для изменения значения параметра проверьте, может ли ваш модуль управлять этим параметром. Имейте в виду, что если администратор установил явную политику отключения или включения параметра, levelOfControl будет иметь not_controllable , и вы не сможете настроить его с помощью API.
  • value : Значение параметра. Все свойства функций доступности имеют тип boolean, за исключением animationPolicy которое представляет собой перечисление, состоящее из allowed , once или none .

В качестве примера давайте переключим функцию виртуальной клавиатуры, предварительно проверив, можно ли настроить это свойство с помощью данного расширения.

const virtualKeyboard = chrome.accessibilityFeatures.virtualKeyboard;
virtualKeyboard.get({},
	(details) => {
		// check the level of control for virtual keyboard
		if (details.levelOfControl == 'controllable_by_this_extension' || details.levelOfControl == 'controlled_by_this_extension') {
			// disable if virtualKeyboard is currently on
			if (details.value) {
				virtualKeyboard.set({value: false}, () => console.log('Virtual keyboard has been disabled');
			} else { // enable if virtualKeyboard is currently off
				virtualKeyboard.set({value: true}, () => console.log('Virtual keyboard has been enabled');
			}
		} else {
			// the setting is not controllable by this extension because it cannot be controlled by any extension or it's being controlled by an extension with higher precedence
			console.log('Virtual keyboard setting cannot be changed.');


		}

Сначала вызовите метод ` get() для свойства virtualKeyboard , чтобы прочитать доступный уровень управления и текущее значение свойства. Если управление возможно с помощью данного расширения или оно уже осуществляется этим расширением, то можно безопасно вызвать set() и изменить значение свойства ` virtualKeyboard . Если управление свойством невозможно, сообщите пользователю, что этот параметр нельзя изменить, и порекомендуйте ему обратиться к системному администратору, если это необходимо.

Доступные параметры, которые можно настроить с помощью API chrome.accessibilityFeatures , сгруппированы по следующим категориям: преобразование текста в речь, отображение и увеличение, ввод с клавиатуры и текста, курсор и сенсорная панель.

Преобразование текста в речь

Функция преобразования текста в речь позволяет озвучивать текст на экране с помощью встроенной в ChromeOS программы чтения с экрана. Независимо от того, имеет ли пользователь нарушения зрения, не может ли читать или предпочитает слушать текст, а не читать его, эти функции позволяют ему взаимодействовать с устройством.

  • selectToSpeak : Управляет функцией выделения текста для озвучивания, которая позволяет пользователям выделять текст на экране для последующего чтения вслух.
  • spokenFeedback : Управляет функцией ChromeVox , программой чтения с экрана, которая зачитывает вслух текст на экране, а также названия кнопок, ссылок и других элементов.

Отображение и увеличение

Функции отображения и увеличения изменяют цвета на экране и предоставляют возможности увеличения, что облегчает чтение и поиск объектов.

  • highContrast : Управляет функцией инверсии цвета, которая изменяет цветовую схему на схему с повышенной контрастностью.
  • screenMagnifier : Управляет функцией полноэкранной лупы, которая увеличивает масштаб элементов на экране.
  • dockedMagnifier : Управляет функцией прикрепленной лупы, которая увеличивает сфокусированные области экрана в режиме разделенного экрана.

Ввод текста с клавиатуры и текста

Функции клавиатуры и ввода текста предоставляют пользователям различные возможности для взаимодействия с контентом и ввода данных на экране.

  • virtualKeyboard : Это свойство управляет функцией экранной клавиатуры, которая позволяет пользователям печатать без использования физической клавиатуры.
  • dictation : Это свойство управляет функцией диктовки, которая позволяет пользователям набирать текст, произнося его в микрофон и управляя вводом голосом.
  • switchAccess : Это свойство управляет функцией доступа к переключателям, которая позволяет пользователям управлять своим устройством с помощью переключателей (клавиш клавиатуры, кнопок геймпада и других специализированных устройств Switch).
  • stickyKeys : Это свойство управляет функцией залипания клавиш, которая позволяет пользователям нажимать по одной клавише за раз для использования сочетаний клавиш вместо одновременного удержания нескольких клавиш.
  • focusHighlight : Это свойство управляет функцией подсветки фокуса клавиатуры, которая выделяет объект, находящийся в фокусе клавиатуры. Пользователи перемещаются между объектами с помощью клавиши Tab или выбирают их курсором мыши.
  • caretHighlight : Это свойство управляет функцией подсветки текстового курсора (карета), которая отображает кольцо фокусировки вокруг текстового курсора при его появлении или перемещении.

Курсор

Функции курсора позволяют настраивать курсор, делая его более удобным для поиска на экране и использования.

  • autoclick : Это свойство управляет функцией автоматического щелчка, которая позволяет курсору мыши автоматически щелкать в том месте, где он остановился.
  • largeCursor : Это свойство управляет функцией увеличения размера курсора мыши, делая его более заметным.
  • cursorColor : Это свойство управляет функцией изменения цвета курсора. Значение свойства cursorColor указывает только на то, включена эта функция или нет. Оно не определяет цвет курсора.
  • cursorHighlight : Это свойство управляет функцией подсветки курсора, которая отображает кольцо фокусировки вокруг курсора мыши во время его движения.

Доступность киосков на аппаратном уровне

Как и в случае с другими приложениями, доступность приложения для киоска также зависит от устройства, на котором оно развернуто. Разработчикам необходимо дополнительно сотрудничать со своей командой разработчиков оборудования, чтобы убедиться, что их приложение для киоска доступно на аппаратном уровне.

Приложения для киосков можно установить на любую систему ChromeOS, от неинтерактивных дисплеев до интерактивных платформ. Всякий раз, когда предполагается взаимодействие пользователя с приложением для киоска, рекомендуется соблюдать определенные стандарты доступности на аппаратном уровне:

  • Приложения для киосков должны быть доступны и удобны для тех, кто пользуется инвалидной коляской или аналогичными средствами передвижения.
  • Оборудование киоска должно предусматривать возможность подключения физической клавиатуры и мыши.
  • Приложения для киосков должны иметь разъем для наушников и поддержку микрофона.
  • Киосковое оборудование должно иметь экран достаточного размера и разрешения, чтобы текст и изображения были четкими и хорошо различимыми.

Доступность киосков зависит от множества факторов: политик управления, API и оборудования. Но по своей сути доступность киосков — это доступность веб-сайтов. Для повышения доступности вашего приложения для киосков следуйте приведенным выше рекомендациям и передовым методам, проведите тщательное тестирование пользователями и ознакомьтесь с рекомендациями WCAG 2 .