====== Checkliste barrierefreie Desktop- und Mobile-App Programmierung ====== Bei der Programmierung von Desktop und Mobile Apps sollten die Empfehlungen der herstellenden Software-Firma sorgfältig gelesen, beachtet und in der Konzeption, Planung, Programmierung und Tests umgesetzt werden. Die folgenden Links sind die Einstiegspunkte in die Dokumentationen großer Software-Firmen zu diesem Thema. Jede*r Programmierer*in oder Gruppe von Programmierer*innen muss sich mit diesem Thema auseinandersetzen und speziell für die entwickelte Anwendung Barrierefreiheit-Features aktivieren. Dies gilt auf für nach außen vergebene Entwicklungsprojekte und -aufträge. Nichtbeachtung von Barrierefreiheit in veröffentlichten Apps ist keine Option! ===== Für Desktop-Anwendungen ===== * Microsoft: https://docs.microsoft.com/en-us/windows/win32/winauto/about-windows-accessibility-features * Apple: https://developer.apple.com/accessibility/macos/ * Ubuntu: https://wiki.ubuntu.com/Accessibility * RedHat : https://access.redhat.com/help/accessibility/ * SUSE : https://www.suse.com/de-de/products/accessibility/ ==== Thematisch passende GWDG-Nachrichtenartikel ==== - [[https://gwdg.de/about-us/gwdg-news/2023/GN_7-8-2023_www.pdf#page=15|GWDG-Nachrichten 7-8|23]] - Barrierefreie Softwareentwicklung mit Microsoft Visual Studio 2022 - [[https://gwdg.de/about-us/gwdg-news/2024/GN_01-02-2024_www.pdf#page=8|GWDG-Nachrichten 1-2|24]] - Erstellen barrierefreier Anwendungen mit semantischen Eigenschaften in .NET MAUI ===== Für Mobile-Anwendungen ===== * Apple https://developer.apple.com/accessibility/ios/ * Android https://developer.android.com/guide/topics/ui/accessibility ===== Benennung von APIs ===== Die goldene Regel lautet: **Verwenden Sie Worttrennzeichen** ==== Beispiele für API- und Schemadesign ==== - use_underscores - useCamelCase - use-kebab-case ==== Beispiele für IDs und ähnliche Entitäten ==== - use.dot.separators (oft mit umgekehrten DNS-Präfixen) - use/path/separators (oft mit URIs) - use-hyphen-separators (oft mit GUIDs und ähnlichem) ==== Abkürzungen ==== Eine weitere häufige Herausforderung ist die Verwendung von Abkürzungen. Während ein Benutzer, der mit Ihrer API interagiert, Ihre Abkürzungen möglicherweise aus dem Kontext erkennt, ist ein Bildschirmleseprogramm möglicherweise nicht in der Lage, dies zu tun, insbesondere wenn Ihre Abkürzung nicht gebräuchlich ist. ^Abgekürzt (ungünstig) ^Nicht abgekürzt (richtig) ^ | pvtKey | privateKey | ==== Zusatzleistungen ==== Ein zusätzlicher Vorteil besteht darin, dass Codegeneratoren leichter idiomatische Benennungen erzeugen können, die den Groß-/Kleinschreibungskonventionen in der Zielsprache/-plattform entsprechen. ^JSON ^Dotnet ^Dotnet mit zusätzlichem Suffix ^ | dataContentType | DataContentType | DataContentTypeEntity | ===== Check-Liste ===== ^ erledigt ^ Prüfpunkte ^ | | Schnittstellen eingebaut und geprüft | | | Zweisprachigkeit umgesetzt | | | Bedienbarkeit über Maus und Tastatur umgesetzt | | | Benennung von APIs | {{:de:general:checkliste_barrierefreie_desktop-_und_mobile-app_programmierung.pdf|Die Checkliste zum herunterladen }}