Published 30 мар. 2026 г. ⦁ 11 min read
Лучшие практики обеспечения доступности многоязычных EPUB

Лучшие практики доступности многоязычных EPUB

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

  • Метаданные языка: используйте <dc:language> для объявления основных и вторичных языков в вашем EPUB. Это помогает экранным читалкам и дисплеям Брайля загружать правильные параметры.
  • Разметка языка: добавьте теги xml:lang в ваш контент, чтобы обозначить изменения языка для точного произношения и производительности преобразования текста в речь.
  • Нелатинские шрифты: встройте соответствующие шрифты и обеспечьте совместимость Unicode, чтобы избежать проблем с отображением, таких как отсутствующие символы.
  • Стандарты доступности: следуйте стандартам WCAG 2.x (уровень AA), EPUB 3.3 и BCP 47, чтобы соответствовать рекомендациям по доступности.
  • Инструменты тестирования: проверьте свой EPUB с помощью инструментов, таких как EPUBCheck, Ace by DAISY и Thorium Reader, чтобы подтвердить, что функции доступности работают как предполагается.
5-этапный процесс создания доступных многоязычных EPUB

5-этапный процесс создания доступных многоязычных EPUB

Основы доступности EPUB

Метаданные и объявление языка

Установка точных метаданных — это основа обеспечения доступности многоязычных EPUB. Раздел <metadata> в документе пакета EPUB (файл OPF) сообщает вспомогательным технологиям, какие языки содержит ваша книга. Это гарантирует, что такие инструменты, как экранные читалки и дисплеи Брайля, сразу загружают правильные параметры — такие как синтезаторы речи или таблицы Брайля. Без этой информации вспомогательные технологии могут по умолчанию использовать неправильный язык, создавая ненужные трудности для пользователей, которые зависят от них. Объявление основных и вторичных языков в вашем EPUB начинается с этой настройки метаданных.

Как объявить основные и вторичные языки

Элемент Dublin Core <dc:language> — это основной метод для определения языков в вашем EPUB. Для многоязычных книг вам нужно добавить несколько тегов <dc:language> — по одному для каждого языка в вашем контенте. Всегда указывайте основной язык первым, так как платформы, такие как Google Play Books, используют его для правильной категоризации вашей книги. Моника Зарчук-Энгельсма из Польского фонда слепых и слабовидящих «Тракт» подчеркивает эту точку:

Включите все языки книги в метаданные EPUB.

Это гарантирует, что обновляемые дисплеи Брайля автоматически переключаются на правильную таблицу Брайля, что необходимо для слепых читателей, чтобы правильно интерпретировать орфографию и пунктуацию на разных языках. Для многоязычного контента EPUB 3 настоятельно рекомендуется вместо EPUB 2, так как более старая версия не имеет атрибута refines, что может привести к путанице в том, как вспомогательные технологии обрабатывают метаданные.

Использование правильных кодов языков

Чтобы обеспечить совместимость с системами чтения и вспомогательными инструментами, используйте двухбуквенные коды ISO 639-1 (например, «en» для английского, «es» для испанского). Ниже приведена краткая справка по распространенным языкам и правильному формату метаданных:

Язык Код ISO 639-1 Пример метаданных
Английский en <dc:language>en</dc:language>
Испанский es <dc:language>es</dc:language>
Французский fr <dc:language>fr</dc:language>
Японский ja <dc:language>ja</dc:language>
Польский pl <dc:language>pl</dc:language>
Немецкий de <dc:language>de</dc:language>

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

Разметка языка в документах контента

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

Использование xml:lang для переключения языков

Атрибут xml:lang необходим для отметки изменений языка в контенте EPUB 3. Вы можете использовать его на встроенных элементах, таких как <span>, для коротких фраз или на элементах блочного уровня, таких как <p> или <div>, для более длинных разделов. Например, если ваша английская книга включает французскую цитату, вы бы отметили ее следующим образом:
<span xml:lang="fr">Bonjour</span>
Это сигнализирует экранным читалкам переключиться на французский синтезатор речи и гарантирует, что обновляемые дисплеи Брайля используют правильную таблицу Брайля.

Моника Зарчук-Энгельсма из Польского фонда слепых и слабовидящих «Тракт» подчеркивает его важность:

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

Для языков, которые читаются справа налево, таких как арабский или иврит, включите dir="rtl" вместе с xml:lang в соответствующий элемент. Это обеспечивает правильное отображение и порядок чтения. Всегда используйте двухсимвольные коды ISO (например, en, es, fr) для обеспечения совместимости с различными экранными читалками.

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

Когда и как переключать языки

Не каждое иностранное слово требует тега языка. Слова, такие как имена собственные, технические термины или те, которые обычно используются в английском языке — например, «piñata» или «Los Angeles» — обычно понимаются в контексте и не требуют изменений произношения. Однако полные фразы, предложения или отрывки на другом языке всегда должны быть отмечены в соответствии со стандартами WCAG уровня AA.

Избегайте отметки кратких иностранных слов, таких как имена, так как это может вызвать ненужные и раздражающие переключения языков для пользователей дисплея Брайля. Если возможно, применяйте xml:lang к элементам блочного уровня, таким как <p>, вместо встроенных тегов <span>, так как это улучшает совместимость со вспомогательными инструментами. Для нелингвистического контента, такого как ISBN или номера деталей, используйте код zxx, чтобы указать, что контент не на каком-либо человеческом языке.

Нелатинские шрифты и наборы символов

Обработка нелатинских шрифтов необходима для обеспечения точного отображения и функциональности в цифровых публикациях. Языки, такие как арабский, китайский, иврит и кириллица, требуют точной технической настройки, чтобы избежать проблем с отображением. Отсутствующие шрифты или неправильные коды языков могут привести к появлению символов «тофу» — тех раздражающих белых квадратов или вопросительных знаков, которые появляются, когда устройствам не хватает необходимых шрифтов. Чтобы решить эту проблему, EPUB 3 часто требуется для этих языков. Крупные розничные торговцы, включая Apple Books, требуют этого стандарта для языков, таких как китайский, японский, арабский, иврит, дари, курдский, пушту, панджаби, синдхи, таджикский, уйгурский и узбекский [3]. Встроенная поддержка Unicode в EPUB 3 необходима для точного представления этих систем письма.

Встраивание шрифтов для нелатинских шрифтов

Встраивание шрифтов гарантирует согласованное отображение на всех устройствах. Инструменты, такие как Sigil и Calibre, упрощают этот процесс. Для Sigil выполните следующие действия:

  1. Добавьте файл шрифта (предпочтительно в формате .ttf) в папку «Fonts» (Шрифты).
  2. Объявите шрифт в таблице стилей CSS, используя правило @font-face:
    @font-face {
      src: url(../Fonts/yourfont.ttf);
      font-family: "YourFontName";
    }
    
  3. Замените все ссылки font-family в таблице стилей на имя, которое вы определили.

В Calibre вы можете автоматизировать это, используя инструмент «Manage fonts» (Управление шрифтами) и выбрав «Embed all fonts» (Встроить все шрифты). Для двуязычных публикаций включите по крайней мере один латинский шрифт и один нелатинский шрифт. Всегда тестируйте свой EPUB в стандартных программах чтения, таких как Adobe Digital Editions (версии 3 или 4.5), чтобы подтвердить правильное отображение символов.

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

Примечание об обфускации шрифтов: алгоритм SHA-1, в настоящее время используемый для обфускации шрифтов в EPUB, постепенно выводится из обращения. По словам Группы по поддержке W3C Publishing:

NIST рекомендует постепенно отказаться от использования алгоритма SHA-1 [fips-180-4] к концу 2030 года. Группа по поддержке публикаций не намерена поддерживать обфускацию шрифтов в публикациях EPUB после этой даты из-за ее зависимости от SHA-1 [4].

После встраивания шрифтов следующий шаг — обеспечение универсальной поддержки Unicode.

Совместимость с Unicode

EPUB 3 требует универсальной поддержки Unicode для поддержания точных данных символов во всех системах чтения. Это исключает необходимость в изображениях текста и обеспечивает доступность. Чтобы соответствовать этому требованию, кодируйте все файлы XHTML и CSS в UTF-8.

Для шрифтов, которые читаются справа налево, таких как арабский и иврит, используйте атрибут dir (например, dir="rtl") для управления направлением текста. Установка dir="auto" позволяет системам чтения применять алгоритм двусторонней обработки Unicode, обеспечивая правильный поток текста.

Шрифт/язык Распространенные устаревшие кодировки Стандарт Unicode
Арабский ISO-8859-6, Windows-1256 UTF-8 / UTF-16
Кириллица ISO-8859-5, Windows-1251 UTF-8 / UTF-16
Иврит ISO-8859-8, Windows-1255 UTF-8 / UTF-16
Китайский (упрощенный) GB2312, GB18030 UTF-8 / UTF-16
Китайский (традиционный) Big5 UTF-8 / UTF-16

Используйте символы Unicode вместо изображений, чтобы сохранить доступность и переформатируемость текста. Для контента со смешанным направлением, такого как арабские фразы в английских предложениях, используйте символы управления двусторонней обработкой Unicode или соответствующую разметку HTML для обеспечения правильного отображения. Этот подход сохраняет как функциональность, так и читаемость на разных языках и шрифтах.

Тестирование и проверка многоязычных EPUB

После встраивания шрифтов и обеспечения совместимости Unicode следующий шаг — проверка доступности вашего многоязычного EPUB. Этот процесс гарантирует, что ваш контент работает без проблем для всех читателей, включая тех, кто полагается на вспомогательные технологии, такие как экранные читалки или механизмы преобразования текста в речь. Тестирование помогает выявить и исправить любые барьеры, которые могут ограничить доступ.

Тестирование разметки языка с помощью инструментов проверки

Начните с запуска EPUBCheck, официального средства проверки соответствия для EPUB 2 и 3. Этот инструмент выявляет структурные ошибки, которые могут нарушить отображение [7]. Если вы предпочитаете графический интерфейс, рассмотрите возможность использования Pagina EPUB-Checker для более легкой навигации [9].

После того как EPUBCheck подтвердит, что ваш файл не содержит ошибок, переходите к Ace by DAISY. Этот инструмент оценивает доступность на основе спецификации доступности EPUB. Саймон Коллинсон, менеджер по продажам контента в Kobo, подчеркивает его важность:

Действительно важное в Ace то, что оно делает доступность конкретной целью с четкими шагами и иерархией серьезности [5].

Ace универсален — его можно использовать как настольное приложение или интегрировать в автоматизированные рабочие процессы через его версию командной строки [5].

Чтобы обеспечить правильную обработку переключения языков и производительность преобразования текста в речь (TTS), протестируйте свой EPUB с помощью Thorium Reader. Это приложение, которое получило идеальный результат для невизуального чтения на epubtest.org [8], особенно эффективно для этих проверок. Включите параметр «Enhance Screen Reader Experience» (Улучшить опыт экранной читалки) на вкладке General (Общие), чтобы убедиться, что экранные читалки, такие как JAWS, NVDA или VoiceOver, правильно переключают голоса для разных тегов языков [6]. Кроме того, протестируйте функцию «Read Aloud» (Читать вслух), чтобы убедиться в правильных паузах и точном произношении, особенно для нелатинских шрифтов. Эти шаги подтверждают, что ваши теги языков и метаданные правильно направляют вспомогательные технологии.

После завершения этих технических и проверок доступности переходите к более детальной проверке соответствия WCAG.

Проверка соответствия WCAG

Хотя автоматизированные инструменты, такие как Ace by DAISY, обеспечивают прочную основу, они не могут полностью оценить соответствие WCAG. Необходимо ручное рассмотрение [5]. Начните с систематического решения любых проблем, указанных в отчете Ace, уделяя внимание таким областям, как дублирующиеся ID, которые могут нарушить ссылки на атрибуты ARIA и заголовки таблиц — оба критичны для вспомогательной технологии.

Затем визуально проверьте свой EPUB в Thorium Reader, чтобы убедиться, что макет, шрифты и навигация соответствуют стандартам WCAG [6][10]. Для многоязычных технических документов обратите особое внимание на отображение и навигацию MathML, так как они критичны для обеспечения доступности публикаций EPUB 3 [8]. Имейте в виду, что EPUBCheck имеет свои ограничения — он не будет полностью проверять CSS и не сможет обнаружить проблемы JavaScript, которые могут повлиять на удобство использования [9].

Использование BookTranslator.ai для многоязычных EPUB

BookTranslator.ai

BookTranslator.ai уп