Diese Unterscheidung ist das ganze Thema dieses Artikels. Herausgeber und Content-Teams sagen routinemäßig, ein nicht getaggtes PDF sei für jemanden, der einen Screenreader verwendet, „unlesbar“. Das ist es fast nie. Die Datei öffnet sich, der Text erscheint, eine Stimme liest ihn vor — nur nicht unbedingt in der Reihenfolge, der eine sehende Person folgen würde, und nicht ohne dass Seitenelemente mitten in einen Satz hineinragen. Das ist ein schwierigeres Problem zu erklären als „unlesbar“, was wahrscheinlich der Grund dafür ist, dass sich der Mythos hält. Wir haben gemessen, was tatsächlich aus einer echten Datei herauskommt, und zeigen es unten.
Was das Lesen eines nicht getaggten Dokuments mit assistiver Technologie tatsächlich beinhaltet
PDF unterstützt eine „getaggte“ Struktur: eine explizite, vom Autor definierte Lesereihenfolge, die Adobes eigener Leitfaden als das Markieren von Teilen des PDF-Inhalts und deren Organisation „in Sequenz“ beschreibt, damit assistive Technologien die Tags interpretieren können (aus dem Englischen übersetzt; der Leitfaden liegt nur auf Englisch vor). Wenn eine Datei diese Struktur hat, folgt ein Screenreader ihr, Punkt. Wenn sie diese nicht hat, muss der Reader raten, und derselbe Leitfaden ist ungewöhnlich offen darüber, was dieses Raten beinhaltet: Wenn Sie ein nicht getaggtes PDF öffnen, präsentiert Acrobat einen Dialog für ungetaggte Dokumente (englisch „Reading Untagged Document“), der drei benannte Strategien anbietet —
- Infer reading order from document (recommended) — „Adobe Reader determines the reading order of untagged documents using an advanced method of layout analysis." Dies ist die Standardeinstellung und eine proprietäre Heuristik; Adobe veröffentlicht nicht, wie sie funktioniert.
- Lesereihenfolge von links nach rechts, von oben nach unten — "Adobe Reader interprets the reading order of untagged documents starting from left to right on the page and moving from top to bottom."
- Lesereihenfolge im rohen Druckdatenstrom verwenden — "Adobe Reader interprets the reading order of untagged documents based on the raw code in the PDF document – essentially, the order text was recorded in the print stream."
JAWS und NVDA basieren beide auf derselben Auswahl, wenn ein PDF in Acrobat Reader geöffnet wird. Der offizielle NVDA-Testleitfaden des EU-Veröffentlichungsamts beschreibt dieselbe Standardeinstellung in fast identischer Sprache: NVDA interpretiere die Lesereihenfolge ungetaggter Dokumente „using an advanced method of layout analysis“ (der Leitfaden liegt nur auf Englisch vor) — dieselbe Ableitungsstrategie, dieselbe mangelnde Garantie.
Zwei dieser drei Strategien können wir außerhalb jedes Screenreaders exakt reproduzieren, da sie lediglich der Text-Extraktionsreihenfolge entsprechen. Genau das haben wir getan.
Die Messung
Wir haben ein echtes, öffentlich veröffentlichtes PDF der ungarischen Regierung aus einem Korpus von
Dokumenten des öffentlichen Sektors, über die wir bereits geschrieben haben verwendet —
034.pdf, ein 34-seitiges Entscheidungsschreiben für eine Umweltgenehmigung. pikepdf bestätigt, dass es überhaupt keine /StructTreeRoot hat: wirklich nicht getaggt, nicht nur schlecht getaggt.
pdfplumber (Version 0.11.9) legt beide Nicht-Standard-Strategien von Acrobat direkt offen, über einen Parameter:
import pdfplumber
with pdfplumber.open("034.pdf") as pdf:
page = pdf.pages[0]
raw_order = page.extract_text(use_text_flow=True) # "raw print stream" order
visual_order = page.extract_text() # left-to-right, top-to-bottom
use_text_flow=True überspringt die eigene Positionssortierung von pdfplumber und gibt Zeichen in der Reihenfolge zurück, in der sie im Inhaltsstrom der Seite erscheinen — dieselbe Definition, die Adobe für seine Option des rohen Druckdatenstroms angibt. Der Standardaufruf sortiert zuerst nach vertikaler und dann nach horizontaler Position, was Adobes zweite Option in Codeform ist. Nichts davon ist Adobes eigener Renderer oder NVDAs eigene Sprachausgabe; es sind unabhängige Implementierungen derselben zwei dokumentierten Ideen, was die ehrliche Art ist zu sagen, was diese Messung behaupten kann und was nicht — mehr dazu unten.
Was jede Reihenfolge tatsächlich erzeugt
Die Seite hat ein standardmäßiges Layout für Regierungsbriefe: einen Fußzeilenblock ganz unten, einen Briefkopf, einen zweispaltigen Block mit Aktenzeichenfeldern und dann den Entscheidungstext.
In der Reihenfolge des rohen Druckdatenstroms gelesen, kommt die Fußzeile zuerst — vor dem Briefkopf, vor dem Aktenzeichen:
Országos Környezetvédelmi, Természetvédelmi és Hulladékgazdálkodási Főosztály
1016 Budapest, Mészáros utca 58/A.
Telefon: (06-1) 224-9100; KRID: 508260165
...
PEST VÁRMEGYEI
KORMÁNYHIVATAL
Ügyiratszám: PE/KTFO/1641-58/2026.
Ügyintéző:
Telefon: 06 (1) 224 9103
Tárgy: M100 gyorsforgalmi út M1 autópálya
csomópont – Esztergom közötti szakasz
...
(„Ügyiratszám“ ist das Aktenzeichen, „Ügyintéző“ der Sachbearbeiter, „Tárgy“ der Betreff.) Dieser Fußzeilenblock sitzt 770 Punkte tief auf einer 842-Punkte-Seite — genau im unteren Rand — wurde jedoch als Erstes in die Datei geschrieben, vermutlich weil er aus einer festen Briefkopfvorlage stammt, die vor dem fallbezogenen Text angewendet wurde. Einem Leser, der diese Datei von oben nach unten in der Reihenfolge des Druckdatenstroms hört, werden die Telefonnummer und E-Mail-Adresse der Abteilung mitgeteilt, bevor er erfährt, worum es in dem Brief überhaupt geht.
Die nach Position sortierte Reihenfolge erfasst die Fußzeile richtig — sie landet korrekt ganz am Ende der Seite — bricht aber stattdessen den Aktenzeichenblock auf, da zwei Spalten mit Feldern an derselben vertikalen Position sitzen:
Ügyiratszám: PE/KTFO/1641-58/2026. Tárgy: M100 gyorsforgalmi út M1 autópálya
Ügyintéző: csomópont – Esztergom közötti szakasz
környezetvédelmi engedélyének
módosítása
Hiv. szám: -
Melléklet: -
Telefon: 06 (1) 224 9103
Das Aktenzeichen wird an den Anfang der Betreffzeile in einer Zeile geklebt, und das (leere) Feld für den Sachbearbeiter wird an die Fortsetzung der Betreffzeile in der nächsten Zeile geklebt — „Ügyintéző: csomópont – Esztergom közötti szakasz“ liest sich, als wäre der Name des Sachbearbeiters "M1 motorway junction – Esztergom section,", was Unsinn ist, da es sich eigentlich um das Ende eines nicht zusammengehörigen Feldes in der Spalte daneben handelt. Von links nach rechts, von oben nach unten ist die intuitivere der beiden Regeln, und sie ist hier immer noch falsch, für ein Dokument, das ansonsten ein vollkommen gewöhnlicher einspaltiger Regierungsbrief ist.
Keine der Strategien ist defekt; beide tun genau das, was Adobe dokumentiert. Der Brief enthält einfach nicht genügend Informationen, damit eine der Heuristiken wiederherstellen kann, welcher Text zu welchem Feld gehört — diese Information existiert nur in einem Strukturbaum, und diese Datei hat keinen.
Tabellen verschlimmern das gleiche Problem
Die gleiche Abweichung zeigt sich noch deutlicher bei Tabellenexporten. Eine kommunale Haushaltskalkulation aus demselben Korpus, die aus Excel als PDF gedruckt wurde, hat eine dreizeilige gestapelte Spaltenüberschrift („Cím-csoport szám“, „Kiadási rovat neve“ usw.). Die nach Position sortierte Reihenfolge liest alle drei physischen Zeilen quer, bevor sie eine einzelne Spaltenüberschrift beendet:
Cím- Alcím- Előir. Kiadási Feladat MÓDOSÍTOTT MÓDOSÍTOTT
csop. EREDETI
szám szám rovat jogcím előirányzat előirányzat
Das sind drei verschiedene Spaltenüberschriften, die in eine inkohärente Zeile verschachtelt sind, weil „Zeile für Zeile lesen“ die falsche Regel für eine Überschrift ist, die mehrere physische Textzeilen pro Spalte umfasst. Das ist der Mechanismus hinter dem Ratschlag, den man überall findet, verbundene oder gestapelte Kopfzellen zu vermeiden: Es ist keine stilistische Vorliebe, es ist das, was mit dem Text passiert, sobald kein Tag vorhanden ist, der dem Leser sagt, welche Wörter zu welcher Spalte gehören.
Was sich ändert, sobald die Datei getaggt ist
Vergleichen Sie das mit einer Datei, die einen Strukturbaum hat: unser eigenes
barrierefreies PDF-Beispiel, durchlaufen mit derselben
DFS-Logik, die ein Screenreader verwendet — jede Seite eines Blattes, MCID und gerenderter Text, in
/K-Reihenfolge:
1 0 H1 'Digital Accessibility'
1 1 P 'Why It Matters and How to Get Started'
1 2 P 'Digital accessibility means designing documents...'
2 0 H2 'Why Accessibility Matters'
2 2 Lbl 'Over 1 billion people worldwide live with some form of disability.'
Hier gibt es keine „welche Heuristik“-Frage, weil es nichts abzuleiten gibt. Alle 57 Blätter über die 5 Seiten der Datei sind echter Inhalt — keine Fußzeile, keine Seitenzahl unterbricht jemals den Fluss, weil diese Elemente als /Artifact markiert und vollständig vom Strukturbaum ausgeschlossen sind. Ein Screenreader erhält jedes Mal dieselbe Reihenfolge, unabhängig davon, welche der drei Einstellungen von Adobe zufällig ausgewählt ist, weil Tags alle drei überschreiben.
Die ehrliche Grenze dieser Messung
Wir haben keine Live-NVDA- oder JAWS-Sitzung durchgeführt und uns die Ausgabe angehört — dies misst den Text, den jeder Reader erhält, nicht wie er gesprochen wird, und es sagt nichts über Pausen, die Ankündigung von Satzzeichen oder darüber aus, wie ein Screenreader die Zeilen- und Spaltenposition einer Tabellenzelle wiedergibt. Und wir haben keine Möglichkeit, Adobes Standardeinstellung „Lesereihenfolge ableiten“ überhaupt zu reproduzieren: Es ist die empfohlene Option, es ist ein proprietärer Algorithmus, und er könnte diesen speziellen Brief besser handhaben als jede der beiden, die wir getestet haben. Was wir mit Sicherheit sagen können, ist, dass Adobe aus genau diesem Grund zwei vollständig spezifizierte, dokumentierte Fallback-Strategien ausliefert, und beide versagen hörbar bei einem gewöhnlichen Regierungsbrief — was selbst der Punkt ist: Selbst der Anbieter behauptet nicht, dass ohne Tags eine zuverlässige Antwort existiert.
Wenn Sie den Unterschied lieber hören als lesen möchten, verwendet das Vorlesen-Werkzeug von Acrobat Reader (im englischen Menü View → Read Out Loud) dieselbe Logik der Lesereihenfolge. Wenn Sie also zwischen den drei Optionen unter Edit → Preferences → Reading → Reading Order (englisches Menü) wechseln und sich jedes Mal denselben Absatz anhören, reproduzieren Sie das oben Gezeigte, ohne etwas anderes installieren zu müssen. NVDA-Nutzer können dasselbe tun, indem sie die Datei öffnen und ihren
Befehl „Say All“
(NVDA+Down Arrow im Desktop-Layout) vom Anfang der Seite aus drücken.
Was das bedeutet, wenn Sie PDFs veröffentlichen
Die Lösung ist nicht „Alternativtext hinzufügen“ oder „Kontrast prüfen“ — das ist wichtig, aber es berührt nicht die Lesereihenfolge. Die Lösung ist ein Strukturbaum, der explizit angibt, welcher Text die Fußzeile ist, welche zwei Felder nebeneinander sitzen und welche Zelle zu welcher Spaltenüberschrift gehört — etwas, das kein Export-Dialog standardmäßig hinzufügt und das durch keine noch so sorgfältige visuelle Gestaltung ersetzt werden kann. Unsere PDF/UA-Fehlerreferenz deckt die spezifischen Prüfungen ab, bei denen ein fehlender oder defekter Strukturbaum versagt, und der PDF/UA-Leitfaden behandelt, was der Standard erfordert und warum die Lesereihenfolge eine seiner Klauseln ist und nicht etwas, das „ganz nett zu haben“ wäre. Das Einzige, was Sie tun sollten, bevor Sie eines der anderen Dinge tun: Öffnen Sie ein Dokument, das Sie tatsächlich veröffentlichen — nicht Ihr neuestes — mit „Vorlesen“ und hören Sie sich den ersten Absatz an. Wenn er nicht mit dem übereinstimmt, was Sie selbst laut vorlesen würden, wissen Sie bereits, wo Sie anfangen müssen.