Особенности подготовки текстов для правильного воспроизведения в программах для незрячих

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

На Хабре с периодичностью раз в неделю выходят статьи про технологические аспекты доступности. 

В них рассказывают, как прописывать тэги alt, подбирать цвета, какая от внедрения доступности может быть коммерческая выгода.

Сам я впервые столкнулся с разработкой для незрячих пользователей в 2008 году, когда принимал участие в разработке программного телефона для контакт-центров, в котором большое число агентов было незрячими. 

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

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

Но, как быстро выяснилось, информация в чистом виде очень плохо воспринимается на слух. Её нужно специально подготавливать, чтобы было кратко и информативно. И даже незначительные изменения в форматировании текста приводят к тому, что он полностью меняется при озвучании скрин-ридерами.

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

Разница между устной и письменной речью

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

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

  • «Два миллиона шесть» → «2000006» → «два ноль ноль ноль ноль ноль шесть».

Но если записать число как «2.000.006», то результат будет верным:

  • «Два миллиона шесть» → «2.000.006» → «два миллиона шесть».

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

Те примеры, которые будут приведены ниже, сделаны с помощью голоса «Microsoft Irina» для русского языка в операционной системе Windows 10. Это самая популярная операционная система в мире.

Пример работы Screen Reader

Для лучшего понимания того, что написанное вами звучит не так, как вы думаете, посмотрите этот ролик. В нем голос Microsoft Irina озвучивает распространённые формы записи даты, времени, числа, адреса, денежных сумм, сокращений.

О доступности

Если говорить о доступности в нашем контексте, то у нее можно выделить 2 стороны:

  1. Инструментальная: существуют программы и устройства, помогающие обходить ограничения.

  2. Социальная: действия людей, устраняющие или, наоборот, создающие ограничения, или уменьшающие (увеличивающие) затраты на их преодоление.

Без социальной составляющей инструментальная не работает. Не самый очевидным примером социальной доступности является флаг -h у Unix-команд ls и df, который выводит числа в удобном для человека виде.  Просто хорошо продуманная реализация доступности незаметна и делает использование удобнее всем.

Основные ошибки и рекомендации при оформлении контента с учётом удобства пользования скрин-ридером

Разработчики скрин-ридеров стремятся сделать текстовую информацию доступной для незрячих, однако порой существующий контент отформатирован так, что его неудобно не только слушать, но и читать.

Наличие или отсутствие всего одного пробела или точки очень сильно влияет на то, как текст будет озвучен скрин-ридером. Ответственность за простоту текста для восприятия целиком лежит на авторе.

У пользователей скрин-ридеров часто возникают следующие нарекания к тексту: «из того, что прозвучало, непонятно, что же написано в оригинале». Инструментальные средства доступности не могут самостоятельно справиться со сложностями вариантов написания. В дело должна вступить социальная составляющая.

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

Числа

Правильный формат

М означает миллионы, Т - тысячи, Е - единицы, Д - Дробную часть.

  • МММ.ТТТ.ЕЕЕ,ДД, например 123.456.789,01 (миллионы отделены от тысяч и единиц точкой, дробная часть отделена запятой)

  • +МММ.ТТТ.ЕЕЕ,ДД (без пробела между плюсом и числом)

  • -МММ.ТТТ.ЕЕЕ,ДД (без пробела между минусом и числом)

Пример:

123.456.789,01

Неправильный формат

  • МММТТТЕЕЕ.ДД

  • - МММТТТЕЕЕ

  • + МММТТТЕЕЕ

Вносящие путаницу варианты записи

  • Если между минусом и числом поставить пробел, то такая запись будет читаться как «дефис число».

  • Если части числа разделены пробелом, то при записи «12 380 664» вместо одного восьмизначного числа пользователь услышит три отдельных числа: 12, 380 и 664.

  • Избыточная точность представления числа. Часто достаточно указать мантиссу и порядок числа, отбросив малозначащие порядки в числе. Если есть 20 чисел, около миллиона, то достаточно будет записать число миллионов с точностью до одного знака после запятой. Информация будет намного легче воспринята на слух.

Время

Правильный формат

  • ЧЧ:ММ (11:55)

  • ЧЧ:MM:CC (11:55:44)

  • «открыты с 10 до 19».

Время, записанное в таком формате, будет читаться правильно как

  • ЧЧ часов ММ минут

или

  • ЧЧ часов, ММ минут, СС секунд

Неправильные форматы

  • «12-05» будет читаться как «двенадцать ноль пять», без часов и минут,

  • «12ч 05м» будет читаться как «двенадцать че ноль пять эм»,

  • «открыты 10 – 19» будет читаться как «открыты десять дефис девятнадцать».

Дата

Правильный формат

  • дд.мм.гггг

  • дд/мм/гггг

Обязательно используйте 4 цифры для года, это устраняет неоднозначности.

Неправильный формат

  • дд/мм/гг

  • дд.мм.гг

Указание года с помощью двух цифр приводит к тому, что дата будет прочитана как последовательность трех чисел, хотя работает правильно для некоторых дат в ХХ веке.

Сокращения (масса, длина, объём)

Правильная запись

Число пробел единица СИ

  • 100 км

  • 100 ккал

  • 100 м

  • 100 кг

  • 100 Па

  • 10 г

  • 10 Н

  • 100 мл

  • 100 л

Неправильная запись

  • Числоединица (без пробела)

  • Число__единица (2 пробела)

Такие записи читаются как число и буквы.

Если правильная запись через один пробел «100 ккал» звучит как «сто килокаллорий», то «100ккал» и «100__ккал» (2 пробела) звучат как «стоккал».

Адрес

Правильная запись

  • 3я ул. Строителей д. 25

(«ул.» и «д.» с точками, и через пробел звучат как «улица» и «дом»).

Неправильная запись

  • 3я ул. Строителей д.25

Д.25 без пробела звучит как «Дэдвадцать пять»

Надежная запись

  • «Третья улица Строителей, дом 25, квартира 12, третий этаж»

Лучше пишите части адреса, такие как «дом», «корпус», «квартира», «улица», «город» полностью.

Деньги

Правильная запись

  • Число руб (1 пробел)

При этом число копеек произноситься не будет.

Для фунта, доллара и евро запись вида

  • £число

  • €число

Будет озвучена с пенсами или центами.

Неправильная запись

  • ₽1

  • 1₽

Символ ‘₽’ не озвучивается, и поэтому не должен использоваться для цен.

Для того чтобы символ ₽ читался, можно воспользоваться NVDA, где присутствует такая опция, которая заменяет его до подачи на синтезатор

В Narrator такого хака нет.

Математические символы 

Правильно:

  • ÷ для деления

  • × для умножения

  • ≠ для неравенства

  • ± для плюс-минус

  • ≥ для больше или равно

  • ≤ для меньше или равно

Неправильно

  • / для деления (слэш)

  • * для умножения (звездочка)

  • != для неравенства (равно)

  • +- для плюс-минус

  • >= для больше или равно (больше равно)

  • <= для меньше или равно (меньше равно)

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

Особенности восприятия информации

Аббревиатуры и сокращения

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

  1. Длинный термин (далее СОКРАЩЕНИЕ)

  2. СОКРАЩЕНИЕ (оригинальный длинный термин)

  3. СОКРАЩЕНИЕ

Пример: «Станок с ЧУ» будет читаться как «Станок с че-у», поэтому параграф про такой станок должен содержать текст:

… Числовое управление (далее ЧУ) станка. …. ЧУ (числовое управление) этого станка…. Программирование ЧУ осуществляется в …..

Структура текста в письмах и постах

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

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

  • стрелку вверх

  • стрелку вниз

Оформляя списки буллитами, а не перечислениями через запятую, вы делаете текст более доступным.

Ссылки

Ссылки должны быть максимально конкретными, например, указывайте ссылки на видео ролик в Ютубе с привязкой ко времени. Для этого нажмите правой кнопкой мыши в окне воспроизведения и выберите опцию «Сopy video at current time».

Знаки препинания

Пунктуация влияет на скорость озвучки. В обычных предложениях точка и запятая влияют на продолжительность пауз между словами и предложениями. Так, пауза между словами в предложении равна 10-20 миллисекунд. Запятая же в предложении приостановит скрин-ридер сразу на треть секунды.

Точка остановит речь скрин-ридера на три четверти секунды. Отсюда можно сделать вывод, что не стоит злоупотреблять точками. Помните, что

  • Такой.

  • Текст.

  • Будет.

  • Гораздо.

  • Дольше.

  • Проходить.

  • Через.

  • Скрин-ридер.

Убрав точки в конце каждого из 8 слов в списке выше, мы уменьшим время, требуемое на озвучку всего списка на 4-5 секунд.

Таблицы

Таблицы являются для незрячих пользователей альтернативой различным графикам.

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

Пример:

Адресат

Квартира

Был на собрании?

За замену лифта

Иванов

1

Не был

н/д

Петров

2

Был

Против

Сидоров

3

Не был

н/д

Третья строка будет озвучена как:

Адресат <пауза> Сидоров <пауза> Квартира <пауза> три <пауза> Был на собрании?<пауза> Не был <пауза>За замену лифта <пауза>эн слэш дэ.

Предположим, что в таблице 20 срок. Уже к 10-ой повторение заголовка <Был на собрании?> утомит слушателя. Повторяющиеся фрагменты в тексте «захламляют» аудиоверсию, поэтому делайте заголовки короче.

До появления таблицы расскажите, о чем она. Это позволит сделать заголовки столбцов короче.

Для обозначения пустой клетки в таблице не используйте ‘н/д’, озвучиваем как «эн слэш дэ», а используйте символ ‘-‘ (минус). Отсутствие информации будет явно донесено до зрячих, а для незрячих скрин-ридер просто не будет озвучивать клетку.

Пример.

В следующей таблице приведены итоги поквартирного голосования о замене лифта: 

Фамилия

Квартира

Участвовал

Голос

Иванов

1

Нет

-

Петров

2

Да

Против

Сидоров

3

Нет

-

Таблица с такими заголовками и ячейками намного лучше воспринимается на слух.

Советы по оформлению таблиц

  • Обязательно выделяйте заголовок таблицы.

  • Давайте описание таблицы до её появления в тексте.

  • Давайте краткие заголовки столбцам, лучше в одно слово.

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

  • Минимизируйте число знаков при записи чисел, например, «3,9 миллиона» лучше, чем «3.901.121».

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

Скорость Screen Reader

Текст известной скороговорки:

Тридцать три корабля лавировали лавировали да не вылавировали.

Корабли лавировали лавировали да не вылавировали, ведь не веровали в вероятность вылавировать, а веровали бы — вылавировали бы.

Microsoft Irina Russian (Desktop) озвучивает на максимальной скорости за 6 секунд.

Вероятнее всего, вы произнесете этот текст вслух значительно медленнее, чем скрин-ридер на максимальной скорости, но прочитаете намного быстрее. Всего за 2 – 3 секунды. При правильном оформлении текста, скрин-ридер прочитает текст в 2 – 3 раза медленнее, чем человек, читающий «про себя».

Когда говорим о скорости, на самом деле мы имеем в виду скорость произнесения слога. 

Слова «волк» и «де-ло-про-из-во-ди-тель-ни-ца» для правильного сравнения надо разбить на слоги. 

Эминем в песне «Majesty» 2018 года поддерживал скорость чтения 10.3 слога в секунду  на протяжении более 10 секунд. В нашей скороговорке более 74 слогов.  Microsoft Irina читает их со скоростью 12.2 слога в секунду, что намного быстрее рекорда Эминема. 

Скрин-ридеры, в отличие от человека, поддерживают разумно-высокий темп чтения очень долго.

Способы проверить то, как же звучит написанное

Для Windows можно попробовать следующие 3 варианта:

  • Команда в shell

PowerShell -Command "Add-Type –AssemblyName System.Speech; (New-Object System.Speech.Synthesis.SpeechSynthesizer).Speak(

'123456789; 123,456,789; 32°C; 32C ');"
  • Простой скрипт на python

# pip install pypiwin32

import win32com.client

speaker = win32com.client.Dispatch("SAPI.SpVoice")

text='≠,≥,≤,±,×; 32°C; 32C; 1234567; 1,234,567; tehn; then 						
Источник: https://habr.com/ru/companies/beeline_tech/articles/781944/


Интересные статьи

Интересные статьи

Требования к соискателям на должности разработчиков ПО быстро меняются. Если раньше достаточно было разбираться в структурах данных и основных алгоритмах, чтобы успешно пройти собеседование и получить...
Машинное обучение все чаще используется аналитиками для упрощения работы при решении текущих задач, для реализации новых проектов или для выявления каких-либо ошибок и отклонений.На данный момент одно...
Автоматическое перефразирование текстов может быть полезно в куче задач, от рерайтинга текстов до аугментации данных. В этой статье я собрал русскоязычные корпуса и модел...
Проблемы оформления расчетов и что такое iMath Наверное, многие, кто учился в техническом ВУЗе, сначала делали вычисления своих курсовых в Mathcad (или другом математическом пакете), а з...
Источник изображения: hackaday.com Как уже писали на Хабре, сегодня организация Raspberry Pi Foundation представила Compute Module 4 по цене от $25. В целом, новый модуль — это шаг в...