Что делает PDF доступным — и почему это важно
Spec: ISO 14289-1ISO 14289-1Spec: ISO 14289-2ISO 14289-2Spec: ISO 32000-2ISO 32000-2Spec: WCAG 2.2WCAG 2.2
Доступный PDF — это тот, который человек, не видящий страницу, всё равно может прочитать, в задуманном вами порядке, с описанием каждой картинки и с каждым заголовком, объявленным как заголовок. Эта страница объясняет, как PDF несёт этот смысл — тегированное содержимое, дерево структуры, порядок чтения, альтернативный текст — и почему это стоит сделать правильно.
Почему это важно
Заголовок раздела «Почему это важно»PDF по умолчанию — это набор меток в координатах. Он говорит поставь этот глиф здесь и нарисуй это изображение там. Сам по себе он не говорит это заголовок, эта строка принадлежит тому столбцу или эта картинка показывает подписанный договор. Зрячий читатель мгновенно заполняет эти пробелы по раскладке. Программа чтения с экрана не может. У неё есть только то, что файл действительно сообщает.
Поэтому нетегированный PDF может выглядеть безупречно и читаться как бессмыслица: двухколоночная страница, объявленная сплошняком поперёк, таблица данных, расплющенная в поток несвязанных чисел, диаграмма, которая просто молчит. Информация на странице. Просто до неё не дотянуться. Для миллионов людей это разница между документом, которым они могут пользоваться, и тем, которым не могут, — и, всё чаще, разница между соответствующей закону государственной услугой и юридическим риском.
Если коротко
Заголовок раздела «Если коротко»- Тегированный PDF несёт параллельный слой смысла поверх визуальных меток: этот поток глифов — заголовок, тот блок — список, эта область — таблица.
- Эти теги висят на дереве структуры — логическом плане документа, отдельном от того, где вещи расположены на странице (Spec: ISO 32000-2, §14.7ISO 32000-2 §14.7).
- Дерево фиксирует порядок чтения, поэтому содержимое предъявляется в той последовательности, которую вы задумали, а не в том порядке, в котором глифы случайно были нарисованы.
- Нетекстовое содержимое несёт текстовый эквивалент: описание
/Altдля изображения, замещающий текст для потока глифов, который иначе средство чтения исказило бы (Spec: ISO 32000-2, §14.8ISO 32000-2 §14.8). - PDF/UA (ISO 14289) — это стандарт, который говорит, когда всё это присутствует и корректно. Это и есть то, что “доступный PDF” означает как инженерное утверждение, а не маркетинговое (Spec: ISO 14289-1ISO 14289-1).
Как это реализовано в NextPDF
Заголовок раздела «Как это реализовано в NextPDF»Два слоя, один файл
Заголовок раздела «Два слоя, один файл»Думайте о доступном PDF как о двух слоях, которые путешествуют вместе. Слой содержимого — это то, что вы видите: глифы, линии, изображения, размещённые в координатах. Слой структуры — это то, что это значит: дерево элементов — документ, заголовки, абзацы, списки, таблицы, рисунки, — которое именует каждый фрагмент содержимого и упорядочивает его.
Эти двое сшиты вместе маркированным содержимым. Каждый значимый поток на странице обёрнут и снабжён идентификатором; соответствующий элемент структуры ссылается обратно на этот идентификатор. Именно эта связь позволяет вспомогательной технологии пройти по логическому дереву и в каждом узле найти точные байты на странице, которые он описывает. Сделайте связь правильно — и заголовок объявляется как заголовок; сделайте неправильно — и структура становится вымыслом, не совпадающим с тем, что показано.
Порядок чтения живёт в дереве, а не в раскладке
Заголовок раздела «Порядок чтения живёт в дереве, а не в раскладке»Это идея, которая удивляет людей. Порядок, который использует программа чтения с экрана, — это порядок дерева структуры, и он независим от того, где содержимое попадает на страницу (Spec: ISO 32000-2, §14.7ISO 32000-2 §14.7). Вы можете нарисовать боковую панель последней, а сноску первой; пока дерево нанизывает их в задуманной последовательности, документ читается правильно. И наоборот, прекрасно свёрстанная страница со спутанным деревом читается прекрасно неправильно. Раскладка — для глаз. Дерево — для всех остальных.
Текстовый эквивалент для всего, что не текст
Заголовок раздела «Текстовый эквивалент для всего, что не текст»Фотография, логотип, диаграмма, декоративная линия — ни одно из этого не слова,
поэтому ни одно из этого ничего не объявляет по умолчанию. Тегированный PDF
закрывает этот пробел альтернативными описаниями: текст /Alt изображения
описывает то, что оно передаёт, а /ActualText предоставляет чистую замену для
потока глифов, который иначе был бы прочитан неверно, например лигатуры или
стилизованной буквицы (Spec: ISO 32000-2, §14.8ISO 32000-2 §14.8). Чисто
декоративные метки тегируются как артефакты, поэтому они пропускаются, а не
читаются как шум. Правило простое: если оно несёт смысл, оно получает текстовый
эквивалент; если нет, оно отмечается так, чтобы убраться с дороги.
Как программа чтения с экрана на самом деле потребляет файл
Заголовок раздела «Как программа чтения с экрана на самом деле потребляет файл»Когда вспомогательная технология открывает тегированный PDF, она не читает страницу. Она читает дерево и использует ссылки маркированного содержимого, чтобы вывести текст каждого элемента по порядку.
- OpenThe reader finds the structure tree root in the document catalog, the entry point to the logical document.
- Walk the treeIt traverses the logical hierarchy — document, headings, paragraphs, lists, tables — in structure order.
- Map the roleEach structure type maps to a familiar role, so a heading is announced as a heading and a list as a list.
- Read the contentFor each element it reads the linked page text, or the alternate description when the content is an image.
- Skip the noiseAnything tagged as a decorative artifact is passed over, never spoken.
Поскольку последовательность — это последовательность дерева, корректно тегированный двухколоночный отчёт читается вниз по одному столбцу, а затем по другому, таблица читается ячейка за ячейкой со своими заголовками, а рисунок объявляет своё описание вместо того, чтобы умолкнуть. Средству чтения никогда не приходится угадывать намерение автора, потому что намерение записано в файле.
Стандарт, который это закрепляет: PDF/UA
Заголовок раздела «Стандарт, который это закрепляет: PDF/UA»Всё это становится проверяемым утверждением под PDF/UA. PDF/UA-1, опубликованный как ISO 14289-1, задаёт требования уровня файла для доступного PDF поверх модели тегированного PDF (Spec: ISO 14289-1, §7ISO 14289-1 §7). PDF/UA-2, ISO 14289-2, переносит эти требования на основу PDF 2.0 и уточняет, как реальное содержимое сопоставляется с моделью структуры (Spec: ISO 14289-2, §8ISO 14289-2 §8). PDF/UA управляет структурой файла; более широкие Web Content Accessibility Guidelines описывают результаты, относительно которых измеряется документ, и утверждение о соответствии называет уровень, который был фактически достигнут (Spec: WCAG 2.2, §5WCAG 2.2 §5). Они работают вместе: PDF/UA говорит, что механика присутствует и корректна, а WCAG определяет, как выглядит “хорошо” для человека.
Практический пример
Заголовок раздела «Практический пример»Теги не видны, поэтому единственный честный способ их проверить — взглянуть на структуру, о которой сообщает инструмент. У минимальной доступной страницы есть настоящее дерево: корень документа, заголовок, абзац и рисунок, который несёт описание, а не молчание.
StructTreeRoot └─ Document ├─ H1 "Quarterly Report" ├─ P "Revenue rose across every region this quarter." └─ Figure /Alt "Bar chart: revenue by region, all four up"Средство чтения, проходящее это дерево, объявляет заголовок первого уровня, читает абзац, затем читает описание рисунка — именно в этом порядке, независимо от того, где был нарисован каждый элемент. Уберите дерево — и та же страница становится тремя разрозненными потоками глифов и одним молчащим прямоугольником. Пиксели идентичны. Опыт — нет.
Распространённое заблуждение
Заголовок раздела «Распространённое заблуждение»Частое убеждение — что PDF “доступен, потому что текст можно выделить”. Выделяемый текст означает, что глифы — это настоящие символы, а не отсканированная картинка, — необходимо, но далеко не достаточно. Выделяемый текст без дерева структуры по-прежнему не имеет ни заголовков, ни порядка чтения, ни связей в таблицах, ни описаний изображений. Доступность — это про структуру и смысл, а не просто про наличие извлекаемых символов. Файл может пройти копирование-вставку и полностью провалиться у программы чтения с экрана.
Вторая ловушка — трактовать “тегированный” как значок “да/нет”. Файл может быть
тегированным и всё равно неправильным: теги, которые помечают содержимое неверно,
дерево, чей порядок не совпадает с намерением, изображения с пустым или
бесполезным текстом /Alt. Тегированный — это начало разговора, а не его конец.
Пределы и границы
Заголовок раздела «Пределы и границы»Эта страница объясняет понятия и стандарты, которые их определяют. Она не сертификат соответствия, и ни один инструмент не может выдать его сам по себе.
| Edition | Availability |
|---|---|
| Core | Ядро пишет тегированный PDF: оно выдаёт дерево структуры, помечает декоративное содержимое как артефакты и несёт предоставленный вами альтернативный текст. |
| Pro | Добавляет более богатое сопоставление структуры для сложных раскладок — многоуровневых таблиц, списков и рисунков, — чтобы дерево лучше совпадало с задуманным порядком чтения. |
| Enterprise | Добавляет структурную проверку соответствия и отчёт. Это остаётся проверкой структуры, а не сертификацией — окончательное определение принадлежит средству проверки и человеку-ревьюверу. |
Стоит прямо назвать две границы. Во-первых, движок может создать корректную
структуру, но он не может судить о редакционном качестве: он добросовестно
пронесёт описание /Alt, которое говорит “image”, и это на совести автора, а не
движка. Доступность — это сотрудничество инструмента, который записывает смысл, и
человека, который его поставляет. Во-вторых, автоматический проход — включая
средство проверки вроде veraPDF — подтверждает, что механика присутствует и
правильно сформирована. Он не подтверждает, что человек, использующий программу
чтения с экрана, действительно сможет понять результат. Окончательное
утверждение — за человеком. См.
проверка PDF/A и PDF/UA, чтобы
понять, как эта автоматическая проверка вписывается.
Связанные документы
Заголовок раздела «Связанные документы»- Ландшафт стандартов — где PDF/UA и WCAG находятся в более широкой федерации стандартов, которые отслеживает NextPDF.
- Шрифты: трудная часть — почему текст, который выглядит правильно, всё же может быть непоисковым и как это касается доступности.
- Что такое PDF на самом деле — объектная модель, внутри которой живёт дерево структуры.
- Проверка PDF/A и PDF/UA — как запустить автоматическую проверку соответствия и что она может и чего не может вам сказать.
Глоссарий
Заголовок раздела «Глоссарий»- Тегированный PDF — PDF, который несёт параллельный слой тегов структуры поверх своего визуального содержимого, чтобы вспомогательная технология могла дотянуться до смысла документа, а не только до его меток.
- Дерево структуры — логический план документа (корень, заголовки, абзацы, списки, таблицы, рисунки), записанный независимо от раскладки страницы и используемый для определения порядка чтения.
- Порядок чтения — последовательность, в которой содержимое предъявляется средству чтения, взятая из дерева структуры, а не из того, где были нарисованы глифы.
- Альтернативный текст — текстовый эквивалент для нетекстового содержимого:
описание
/Altдля изображения или замена/ActualTextдля потока глифов, который иначе был бы прочитан неверно. - Артефакт — содержимое, тегированное как декоративное (линия, фон, водяной знак), чтобы средство чтения его пропустило, а не объявляло.
- PDF/UA — PDF/Universal Accessibility, ISO 14289. Стандарт, который определяет, когда тегированный PDF по-настоящему доступен. PDF/UA-1 — это ISO 14289-1; PDF/UA-2 — это ISO 14289-2, на основе PDF 2.0.