Перейти к содержимому
getnextpdf.com

Что делает PDF доступным — и почему это важно

Spec: ISO 14289-1Spec: ISO 14289-2Spec: ISO 32000-2Spec: WCAG 2.2

Доступный PDF — это тот, который человек, не видящий страницу, всё равно может прочитать, в задуманном вами порядке, с описанием каждой картинки и с каждым заголовком, объявленным как заголовок. Эта страница объясняет, как PDF несёт этот смысл — тегированное содержимое, дерево структуры, порядок чтения, альтернативный текст — и почему это стоит сделать правильно.

PDF по умолчанию — это набор меток в координатах. Он говорит поставь этот глиф здесь и нарисуй это изображение там. Сам по себе он не говорит это заголовок, эта строка принадлежит тому столбцу или эта картинка показывает подписанный договор. Зрячий читатель мгновенно заполняет эти пробелы по раскладке. Программа чтения с экрана не может. У неё есть только то, что файл действительно сообщает.

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

  • Тегированный PDF несёт параллельный слой смысла поверх визуальных меток: этот поток глифов — заголовок, тот блок — список, эта область — таблица.
  • Эти теги висят на дереве структуры — логическом плане документа, отдельном от того, где вещи расположены на странице (Spec: ISO 32000-2, §14.7).
  • Дерево фиксирует порядок чтения, поэтому содержимое предъявляется в той последовательности, которую вы задумали, а не в том порядке, в котором глифы случайно были нарисованы.
  • Нетекстовое содержимое несёт текстовый эквивалент: описание /Alt для изображения, замещающий текст для потока глифов, который иначе средство чтения исказило бы (Spec: ISO 32000-2, §14.8).
  • PDF/UA (ISO 14289) — это стандарт, который говорит, когда всё это присутствует и корректно. Это и есть то, что “доступный PDF” означает как инженерное утверждение, а не маркетинговое (Spec: ISO 14289-1).

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

Эти двое сшиты вместе маркированным содержимым. Каждый значимый поток на странице обёрнут и снабжён идентификатором; соответствующий элемент структуры ссылается обратно на этот идентификатор. Именно эта связь позволяет вспомогательной технологии пройти по логическому дереву и в каждом узле найти точные байты на странице, которые он описывает. Сделайте связь правильно — и заголовок объявляется как заголовок; сделайте неправильно — и структура становится вымыслом, не совпадающим с тем, что показано.

Порядок чтения живёт в дереве, а не в раскладке

Заголовок раздела «Порядок чтения живёт в дереве, а не в раскладке»

Это идея, которая удивляет людей. Порядок, который использует программа чтения с экрана, — это порядок дерева структуры, и он независим от того, где содержимое попадает на страницу (Spec: ISO 32000-2, §14.7). Вы можете нарисовать боковую панель последней, а сноску первой; пока дерево нанизывает их в задуманной последовательности, документ читается правильно. И наоборот, прекрасно свёрстанная страница со спутанным деревом читается прекрасно неправильно. Раскладка — для глаз. Дерево — для всех остальных.

Текстовый эквивалент для всего, что не текст

Заголовок раздела «Текстовый эквивалент для всего, что не текст»

Фотография, логотип, диаграмма, декоративная линия — ни одно из этого не слова, поэтому ни одно из этого ничего не объявляет по умолчанию. Тегированный PDF закрывает этот пробел альтернативными описаниями: текст /Alt изображения описывает то, что оно передаёт, а /ActualText предоставляет чистую замену для потока глифов, который иначе был бы прочитан неверно, например лигатуры или стилизованной буквицы (Spec: ISO 32000-2, §14.8). Чисто декоративные метки тегируются как артефакты, поэтому они пропускаются, а не читаются как шум. Правило простое: если оно несёт смысл, оно получает текстовый эквивалент; если нет, оно отмечается так, чтобы убраться с дороги.

Как программа чтения с экрана на самом деле потребляет файл

Заголовок раздела «Как программа чтения с экрана на самом деле потребляет файл»

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

  1. OpenThe reader finds the structure tree root in the document catalog, the entry point to the logical document.
  2. Walk the treeIt traverses the logical hierarchy — document, headings, paragraphs, lists, tables — in structure order.
  3. Map the roleEach structure type maps to a familiar role, so a heading is announced as a heading and a list as a list.
  4. Read the contentFor each element it reads the linked page text, or the alternate description when the content is an image.
  5. Skip the noiseAnything tagged as a decorative artifact is passed over, never spoken.
How a screen reader consumes a tagged PDF: it opens the document, finds the structure tree root, walks the logical tree in order, maps each element to a familiar role, reads the element's text or its alternate description, and skips anything tagged as decorative. The reading sequence comes from the tree, not from where content sits on the page.

Поскольку последовательность — это последовательность дерева, корректно тегированный двухколоночный отчёт читается вниз по одному столбцу, а затем по другому, таблица читается ячейка за ячейкой со своими заголовками, а рисунок объявляет своё описание вместо того, чтобы умолкнуть. Средству чтения никогда не приходится угадывать намерение автора, потому что намерение записано в файле.

Всё это становится проверяемым утверждением под PDF/UA. PDF/UA-1, опубликованный как ISO 14289-1, задаёт требования уровня файла для доступного PDF поверх модели тегированного PDF (Spec: ISO 14289-1, §7). PDF/UA-2, ISO 14289-2, переносит эти требования на основу PDF 2.0 и уточняет, как реальное содержимое сопоставляется с моделью структуры (Spec: ISO 14289-2, §8). PDF/UA управляет структурой файла; более широкие Web Content Accessibility Guidelines описывают результаты, относительно которых измеряется документ, и утверждение о соответствии называет уровень, который был фактически достигнут (Spec: WCAG 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. Тегированный — это начало разговора, а не его конец.

Эта страница объясняет понятия и стандарты, которые их определяют. Она не сертификат соответствия, и ни один инструмент не может выдать его сам по себе.

PDF/UA structural accessibility — edition availability
EditionAvailability
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.