Spezifikationszuordnung zu PDF/UA-2 (ISO 14289-2)
Auf einen Blick
Abschnitt betitelt „Auf einen Blick“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.
Installation
Abschnitt betitelt „Installation“composer require nextpdf/coreKonzeptioneller Überblick
Abschnitt betitelt „Konzeptioneller Überblick“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.
API-Oberfläche
Abschnitt betitelt „API-Oberfläche“| Vorgabenbereich | NextPDF-Einstiegspunkt |
|---|---|
| Aktivierung von Tagged-PDF, Mark-Info, Katalogsprache | Document::enableTaggedPdf(string $lang, ?ConformancePolicy) |
| Natürliche Sprache auf Dokumentebene | Document::setLanguage(string $lang) |
Strukturbaum und einzelne Document-Wurzel | StructureTree::createRoot(), StructureTree::addElement() |
| Vokabular der Standard-Strukturtypen | RoleMap::standard() |
| Sprache, Alternativtext und Ersatztext je Element | StructureElement-Konstruktorattribute |
| Strenge BCP-47-Validierung | Bcp47Validator, ConformancePolicy::strictUa2() |
| Heuristische Behebung (Opt-in) | AccessibilityAutoFixerRegistry |
Codebeispiel — Schnellstart
Abschnitt betitelt „Codebeispiel — Schnellstart“<?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.pdfCodebeispiel — Produktion
Abschnitt betitelt „Codebeispiel — Produktion“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.
Grenzfälle & Fallstricke
Abschnitt betitelt „Grenzfälle & Fallstricke“- 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()undenableTaggedPdf()reduziert den einwertigen Konformitätsdiskriminator auf „letzter gewinnt“, während strukturelle Nebeneffekte additiv bleiben. EineCONFORMANCE_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ützung | Hinweise |
|---|---|---|
| PDF/UA-2-Identifikationsschema (ISO 14289-2 §5) | Unterstützt | Wird 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ützt | createRoot() 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ützt | RoleMap::standard() plus der PDF 2.0-Namespace. |
| Sequenzen markierten Inhalts und Parent-Tree (ISO 32000-2 §14.7.2) | Unterstützt | Kennungen 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ützt | BCP-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 bereitgestellt | Die Bibliothek erzeugt keinen Alternativtext. |
| Logische Lesereihenfolge (ISO 32000-2 §14.7) | Unterstützt die Quellreihenfolge; ordnet nicht um | Eine korrigierte Lesereihenfolge liegt in der Verantwortung des Autors. |
| Zuordnung und Geltungsbereich von Tabellenüberschriften | Außerhalb des Geltungsbereichs, abgesehen vom HTML-Markup | Nicht abgeleitet; hängt vom Quell-Markup ab. |
| Korrektheit der Überschriftenebenen und Gliederung | Außerhalb des Geltungsbereichs | Der Autor muss eine korrekte Überschriftenhierarchie bereitstellen. |
| Durchgängige PDF/UA-2-Verifikation | Außerhalb des Geltungsbereichs | Kein mitgelieferter Prüfer; extern validieren. |
| Konformitätsbestätigung oder Zertifizierung | Außerhalb des Geltungsbereichs | Wird von der Bibliothek nicht bereitgestellt. |
Performance
Abschnitt betitelt „Performance“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.
Sicherheitshinweise
Abschnitt betitelt „Sicherheitshinweise“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.
Konformität
Abschnitt betitelt „Konformität“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.
Bekannte Einschränkungen
Abschnitt betitelt „Bekannte Einschränkungen“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.