barrierefreie PDF Dokumente mit PHP

Das Barrierefreiheitsstärkungsgesetz (BFSG) wurde am 16. Juli 2021 verabschiedet und tritt am 28. Juni 2025 in Kraft. Es setzt die EU-Richtlinie (EU) 2019/882 um und zielt darauf ab, die gleichberechtigte Teilhabe von Menschen mit Behinderungen im digitalen Raum zu fördern. Unternehmen sind verpflichtet, ihre Produkte und Dienstleistungen barrierefrei zu gestalten, um allen Menschen, unabhängig von ihren Fähigkeiten, den Zugang zu ermöglichen. Dies betrifft insbesondere auch die Erstellung und Bereitstellung von PDF-Dokumenten.

Das Barrierefreiheitsstärkungsgesetz fordert, dass PDF-Dokumente barrierefrei gestaltet werden, um die Zugänglichkeit für Menschen mit Behinderungen zu verbessern. Dies bedeutet, dass PDF-Dokumente den PDF/UA-Standard (ISO 14289) erfüllen müssen, der sicherstellt, dass Inhalte von assistiven Technologien wie Screenreadern oder Braille-Tastaturen korrekt interpretiert werden können. Unternehmen müssen sicherstellen, dass ihre PDF-Dokumente strukturiert und getaggt sind, um eine einfache Navigation und Lesbarkeit zu gewährleisten. Dies umfasst unter anderem die Verwendung von Textalternativen für Bilder, korrekte Überschriftenstrukturen und die Einbettung von Schriftarten. Durch die Einhaltung dieser Standards können Unternehmen nicht nur rechtliche Anforderungen erfüllen, sondern auch ihre Kundenbasis erweitern und inklusiver gestalten.

Ein PHP Beispiel

Um die Lesereihenfolge in einem PDF festzulegen, kannst du die Tag-Struktur und Lesezeichen in TCPDF verwenden. Hier ist ein Beispiel, wie sich das umsetzen lässt:

Installation von TCPDF:
Lade die TCPDF-Bibliothek herunter und binde sie in dein Projekt ein.

Tag-Struktur aktivieren:
Stelle sicher, dass die Tag-Struktur aktiviert ist

$pdf->setPrintHeader(false);

$pdf->setPrintFooter(false);

$pdf->SetMargins(PDF_MARGIN_LEFT, PDF_MARGIN_TOP, PDF_MARGIN_RIGHT);

$pdf->SetAutoPageBreak(TRUE, PDF_MARGIN_BOTTOM);

$pdf->setFontSubsetting(true);

$pdf->AddPage();

$pdf->SetFont('dejavusans', '', 12);

$pdf->setCellHeightRatio(1.25);

$pdf->setHtmlVSpace(array('p' => array(0 => array('h' => 1.25, 'n' => 1.25))));

$pdf->setPageMark();

Inhalt mit Tags versehen:
Füge den Inhalt hinzu und markiere die Elemente mit Tags, um die Lesereihenfolge festzulegen

$pdf->startTag('Document');

$pdf->startTag('H1');

$pdf->writeHTML('<h1>Barrierefreies PDF</h1>', true, false, true, false, '');

$pdf->endTag('H1');

$pdf->startTag('P');

$pdf->writeHTML('<p>Dies ist ein Beispiel für ein barrierefreies PDF-Dokument.</p>', true, false, true, false, '');

$pdf->endTag('P');

$pdf->startTag('Figure');

$pdf->Image('example.jpg', '', '', '', '', '', '', 'T', false, 300, '', false, false, 1, false, false, false);

$pdf->endTag('Figure');

$pdf->endTag('Document');

Lesezeichen hinzufügen:
Füge Lesezeichen hinzu, um die Navigation zu erleichtern:

$pdf->Bookmark('Barrierefreies PDF', 0, 0, '', 'B', array(0,0,0));

$pdf->Bookmark('Einführung', 1, 0, '', 'B', array(0,0,0));

PDF-Dokument speichern:

$pdf->Output('barrierefreies_pdf.pdf', 'I');

Diese Schritte sollten helfen, die Lesereihenfolge in einem PDF festzulegen und sicherzustellen, dass es den PDF/UA-Standards entspricht. Weitere hilfreiche Informationen findet man in der TCPDF-Dokumentation und in den Adobe Acrobat Accessibility Guidelines.

https://helpx.adobe.com/de/acrobat/using/touch-reading-order-tool-pdfs.html

Weitere hilfreiche Links:

Leave a comment

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.