Zum Inhalt springen

Spezifikationszuordnung zu PDF/UA-2 (ISO 14289-2)

Diese Seite ordnet die Funktionen von NextPDF Core den Vorgaben von ISO 14289-2 (PDF/UA-2) zu. Sie benennt, bei welchen Vorgaben die Bibliothek den Autor unterstützt und welche ausdrücklich außerhalb des Geltungsbereichs liegen. Sie ist keine Konformitätszusage. Ob eine Datei konform ist, hängt vom Inhalt des Autors, vom Quell-Markup und von der Validierung mit einem externen PDF/UA-Prüfwerkzeug ab.

Terminal-Fenster
composer require nextpdf/core

PDF/UA-2 (ISO 14289-2) legt Anforderungen an barrierefreie PDF-Dateien fest. Diese Anforderungen bauen auf den Funktionen für die logische Struktur aus ISO 32000-2 §14.7 und den Einträgen zur Barrierefreiheitsunterstützung aus ISO 32000-2 §14.9 auf. Eine konforme Datei kennzeichnet sich selbst mit dem Identifikationsschema aus ISO 14289-2 §5. Sie enthält einen Strukturbaum, dessen Wurzel ein einziges Document-Element enthält (ISO 14289-2 §8.2.5.2). Außerdem verwendet sie Standard-Strukturtypen, damit assistive Technologie jedes Tag einer bekannten Rolle zuordnen kann.

NextPDF stellt die Authoring-Primitive für dieses Modell bereit: Aufbau des Strukturbaums, Zuordnung von Standardrollen, Markierung von markiertem Inhalt aus semantischem HTML und Sprachattribute nach BCP-47. NextPDF leitet keine Semantik ab, die im Quellinhalt fehlt. NextPDF führt keine Konformitätsprüfung aus. Die Primitive sind auf das Modell aus ISO 14289-2 §3.1 ausgelegt, in dem assistive Technologie den Strukturbaum auswertet. Ob ein konkretes Dokument jede Vorgabe erfüllt, entscheiden die Eingaben des Autors und ein externer Validator.

VorgabenbereichNextPDF-Einstiegspunkt
Aktivierung von Tagged-PDF, Mark-Info, KatalogspracheDocument::enableTaggedPdf(string $lang, ?ConformancePolicy)
Natürliche Sprache auf DokumentebeneDocument::setLanguage(string $lang)
Strukturbaum und einzelne Document-WurzelStructureTree::createRoot(), StructureTree::addElement()
Vokabular der Standard-StrukturtypenRoleMap::standard()
Sprache, Alternativtext und Ersatztext je ElementStructureElement-Konstruktorattribute
Strenge BCP-47-ValidierungBcp47Validator, ConformancePolicy::strictUa2()
Heuristische Behebung (Opt-in)AccessibilityAutoFixerRegistry
<?php
declare(strict_types=1);
use NextPDF\Core\Document;
$doc = Document::createStandalone();
$doc->enableTaggedPdf(lang: 'en');
$doc->setTitle('PDF/UA-2 structure demonstration');
$doc->addPage();
$doc->writeHtml('<h1>Title</h1><p>Body.</p><ul><li>Item</li></ul>');
$doc->save(__DIR__ . '/output/ua2.pdf');
// Then validate with an external checker. NextPDF does not assert
// conformance on your behalf:
// verapdf --flavour ua2 output/ua2.pdf

Siehe das Produktionsbeispiel des Accessibility-Moduls für den per Dependency Injection verdrahteten Writer mit strenger BCP-47-Validierung, Protokollierung von Hinweisen und Fehlerbehandlung. Dieselbe Verdrahtung gilt für einen Authoring-Workflow nach PDF/UA-2. Die einzige Ergänzung ist der externe Validierungsschritt nach der Erzeugung. Dieser Schritt ist für eine Konformitätszusage zwingend erforderlich und liegt in der Verantwortung des Aufrufers.

  • Ein Dokument, das Tagged-PDF aktiviert, aber keine Strukturnachfahren anhängt, weist den PDF/UA-2-Identifikationsblock bewusst nicht aus (ISO 14289-2 §5). Ein leerer Strukturbaum wird von Validatoren abgelehnt.
  • Das Kombinieren von enablePdfA() und enableTaggedPdf() reduziert den einwertigen Konformitätsdiskriminator auf „letzter gewinnt“, während strukturelle Nebeneffekte additiv bleiben. Eine CONFORMANCE_MODE_CLOBBERED-Warnung macht dies beobachtbar.
  • ISO 14289-2 §7.2.2 erlaubt einem konformen Dokument, zusätzlich Konformität mit weiter gefassten Barrierefreiheitsvorschriften zu beanspruchen. NextPDF gibt ausschließlich das PDF/UA-2-Identifikationsschema aus und emittiert keine weiteren Metadaten für regulatorische Ansprüche.

Vorgabenzuordnung und ausdrückliche Nicht-Abdeckung

Abschnitt betitelt „Vorgabenzuordnung und ausdrückliche Nicht-Abdeckung“
Vorgabenbereich (ISO 14289-2 / ISO 32000-2)NextPDF-UnterstützungHinweise
PDF/UA-2-Identifikationsschema (ISO 14289-2 §5)UnterstütztWird nur ausgegeben, wenn der Strukturbaum Nachfahren hat.
Einzelnes Document-Element unter der Wurzel des Strukturbaums (ISO 14289-2 §8.2.5.2; ISO 32000-2 §14.7.2)UnterstütztcreateRoot() erzwingt eine einzelne Wurzel vom Typ Document.
Standard-Strukturtypen und Role-Map (ISO 32000-2 §14.7; Well-Tagged PDF §8.2.5.1)UnterstütztRoleMap::standard() plus der PDF 2.0-Namespace.
Sequenzen markierten Inhalts und Parent-Tree (ISO 32000-2 §14.7.2)UnterstütztKennungen pro Seite, seitenübergreifende Fortsetzung.
Natürliche Sprache im Katalog und je Element (ISO 32000-2 §14.9; ISO 14289-2 §8.4.4)UnterstütztBCP-47; der strenge Modus lehnt fehlerhafte Tags ab.
Träger für Alternativtext und Ersatztext (ISO 32000-2 §14.9)Unterstützt den Träger; der Inhalt wird vom Autor bereitgestelltDie Bibliothek erzeugt keinen Alternativtext.
Logische Lesereihenfolge (ISO 32000-2 §14.7)Unterstützt die Quellreihenfolge; ordnet nicht umEine korrigierte Lesereihenfolge liegt in der Verantwortung des Autors.
Zuordnung und Geltungsbereich von TabellenüberschriftenAußerhalb des Geltungsbereichs, abgesehen vom HTML-MarkupNicht abgeleitet; hängt vom Quell-Markup ab.
Korrektheit der Überschriftenebenen und GliederungAußerhalb des GeltungsbereichsDer Autor muss eine korrekte Überschriftenhierarchie bereitstellen.
Durchgängige PDF/UA-2-VerifikationAußerhalb des GeltungsbereichsKein mitgelieferter Prüfer; extern validieren.
Konformitätsbestätigung oder ZertifizierungAußerhalb des GeltungsbereichsWird von der Bibliothek nicht bereitgestellt.

Die Strukturbaum-Funktionen fügen einen einzigen linearen Serialisierungsdurchlauf über die Elementmenge hinzu; die Kosten werden von der HTML-Pipeline dominiert, nicht von der Tag-Ausgabe. Die Obergrenze aus performance_budget gilt für ein typisches mehrseitiges semantisches Dokument.

Sprach- und Barrierefreiheits-Attributwerte werden über PdfStringEscaper escaped, bevor sie in die PDF-Objektsyntax gelangen, und die strenge BCP-47-Validierung verengt die Eingabefläche für Sprach-Tags an der API-Grenze. Behandeln Sie vom Autor bereitgestellten Alternativtext und Titel als nicht vertrauenswürdige Ausgabe.

NextPDF gibt Struktur aus, die mit dem PDF/UA-2-Strukturbaummodell aus ISO 14289-2 und ISO 32000-2 §14.7 übereinstimmt. Es sichert nicht zu, dass ein bestimmtes Dokument PDF/UA-2-konform ist. Validieren Sie mit einem PDF/UA-Prüfwerkzeug (zum Beispiel veraPDF); die Bibliothek sichert die Konformität nicht in Ihrem Namen zu. Der mitgelieferte veraPDF-UA-2-Golden-Test wird per Skip-Gate übersprungen, wenn die veraPDF-Binärdatei fehlt, sodass hier kein bestandener Konformitätslauf beansprucht wird. Die zitierten Klauseln werden paraphrasiert, niemals wörtlich zitiert; Chunk-Hashes sind in docs/public/modules/core/_normative-evidence-a11y.md festgehalten.

Eine PDF/UA-2-Konformitätszusage setzt vom Autor bereitgestellte Semantik voraus (Alternativtext, korrekte Überschriftenhierarchie, Zuordnung von Tabellenüberschriften, beabsichtigte Lesereihenfolge, Klassifizierung dekorativen Inhalts) sowie die Validierung mit einem externen Prüfwerkzeug. Nichts davon wird von der Bibliothek erzeugt oder verifiziert. Die Laufzeit gibt einen Hinweis vom Typ „Degraded / ComplianceRisk“ aus, der den Aufrufer anweist, für die Produktionsfreigabe extern zu validieren. Konformität ist eine Eigenschaft des fertigen Dokuments und des Authoring-Prozesses, nicht des API-Aufrufs.