/** * Rückmeldeweg und Betreiberangaben. * * ## Warum das kein Beiwerk ist * * Prüfschritt 9.2.2 des Barrierefreiheits-Prüfplans verlangt einen * Rückmeldekanal, der **vorhanden und bedient** ist: Wer auf eine Barriere * stößt, muss sie melden können und eine Antwort bekommen. Ohne diese Angabe * lassen sich 9.2.2 und 9.2.3 nicht erfüllen, und Bestandteil 5 der Erklärung * zur Barrierefreiheit hätte kein Ziel. * * Deshalb stehen die Angaben hier als Festtext und nicht in einer Datei, die * zur Laufzeit gelesen wird: Ein Rückmeldeweg, der von einem IPC-Kanal oder * einer Datei auf der Platte abhängt, ist genau dann weg, wenn etwas kaputt * ist – also genau dann, wenn man ihn braucht. * * ## Warum der Text auswählbar bleibt * * Es lag der Wunsch vor, die Angaben unkopierbar zu machen. Das ist bewusst * **nicht** umgesetzt, und zwar aus drei Gründen: * * 1. Als Bild verstieße es gegen WCAG 1.4.5 (Bilder eines Textes, Stufe AA) – * gegen genau den Maßstab, den dieses Projekt überall anlegt. Es skalierte * bei 200 % Textgröße nicht mit und wäre im Hochkontrast-Schema unbrauchbar. * 2. Mit `user-select: none` bliebe der Text zwar für Bildschirmleser lesbar, * aber wer eine Feinmotorik-Einschränkung hat und eine lange Adresse nicht * abtippen, sondern kopieren muss, stünde ausgerechnet in dem Block vor * einer Barriere, der Barrieren melden soll. * 3. Der Schutz wäre ohnehin keiner. Der übliche Grund – Adress-Sammler, die * Webseiten abgrasen – trifft eine lokal installierte Desktop-Anwendung * nicht. Wer sie hat, hat die Zeichenkette im Paket; dieselbe Adresse steht * zudem offen in `REUSE.toml` unter `SPDX-PackageSupplier` und in * `app/package.json` an zwei Stellen (`author` und `bugs.email`). (Der * Zusatz „jeder Commit“ stand hier früher zu Unrecht: Die Adresse in der * Git-Historie stammt aus `git config user.email`, also aus einer * Einstellung außerhalb dieses Pakets. Und die Behauptung, `package.json` * führe nur den Namen ohne Adresse, war seit dem Nachtrag von `author` * und `bugs` am 28.08.2026 falsch.) * * ## Warum kein `mailto:` * * Die Anwendung öffnet von sich aus keine Verbindung nach außen – das ist eine * Zusage, die in „Über diese Software“ ausdrücklich steht. Ein `mailto:` würde * das Standardprogramm des Systems starten und diese Zusage brechen. Die * Adresse steht deshalb als auswählbarer Text da. */ /** Antwortfrist, die zugesagt wird. Muss eingehalten werden – 9.2.2. */ export const RUECKMELDEFRIST = 'innerhalb eines Monats'; /** * Betreiber und Rückmeldeweg. * * Der Kanal ist die E-Mail-Adresse – und nur sie. Das genügt: Prüfschritt * 9.2.3 des Barrierefreiheits-Prüfplans verlangt einen Rückmeldekanal, der * für Menschen mit Behinderungen nutzbar ist, „also mindestens E-Mail oder * ein barrierefreies Formular, nicht ausschließlich Telefon“. E-Mail allein * erfüllt diesen Prüfschritt; eine Telefonnummer allein täte es gerade nicht. * * Telefonnummer und Wohnort standen hier früher als Zugabe des Betreibers. * Sie sind bewusst entfernt und gehören **nicht** zurück: Es sind private * Angaben, sie sind für 9.2.2 und 9.2.3 nicht gefordert, und die Anwendung * wird über den Microsoft Store an unbekannte Empfänger ausgeliefert. Der * Name bleibt – er ist Urheberbenennung (EUPL, `REUSE.toml`, Herausgeber im * Store) und keine private Kontaktangabe. * * `tests/kontakt.test.ts` hält das fest und schlägt fehl, sobald wieder eine * Rufnummer oder eine Anschrift im Quelltext der Anwendung auftaucht. */ export const KONTAKT = Object.freeze({ name: 'Olaf Willerding', epost: 'Olaf@olaf-willerding.de', frist: RUECKMELDEFRIST, }); /** * Wofür der Kanal da ist – ausgeschrieben, weil 9.2.2 nicht nur einen Kanal * verlangt, sondern einen erkennbaren Zweck. */ export const KONTAKT_ANLIEGEN: readonly string[] = Object.freeze([ 'Barrieren in der Bedienung melden – etwas ist mit Tastatur, Bildschirmleser oder Vergrößerung nicht erreichbar', 'Fehler im Fragenkatalog oder in einer Erklärung melden', 'Auskunft zu den Barrierefreiheitsmerkmalen dieser Anwendung verlangen', 'Inhalte in einer anderen Form anfordern, wenn diese Anwendung nicht nutzbar ist', ]);