FrontTailor 1.0.0 (10.11.2026): Inspector, OData, Performance, UI5 2.0, KI und Betrieb für SAP Fiori® und UI5-Apps – in einem Panel. Was drin ist → +43 664 1964199Kontakt →

Qualität: i18n & Barrierefreiheit

Ein Klick, und FrontTailor liest die laufende App einmal durch: Welche i18n-Schlüssel fehlen, welche Texte sind hartcodiert, wo fehlt eine Übersetzung, welcher Button hat keinen zugänglichen Namen, welcher Text zu wenig Kontrast? Jeder Befund nennt Control, Regel, Behebung und den Link auf die UI5- und WCAG-Doku – und springt auf Wunsch in den Inspector.

Edition
ab Pro
Tab
„Qualität“
Abschnitte
„Texte“ und „Barrierefreiheit“
Maßstab
WCAG 2.2 AA und die UI5-Richtlinien zur Barrierefreiheit
Oberflächen
DevTools-Panel und Side-Panel
Auf PROD
erlaubt, die Prüfung liest nur

So arbeitet die Prüfung

Öffne in den DevTools (F12) das Panel FrontTailor oder das Side-Panel und wähle den Tab Qualität. Vor dem Klick läuft in der Seite nichts. Dann liest FrontTailor die App einmal: Controls, Bindings, Resource Bundles, Beschriftungen und Farben. Alles wird in deinem Browser ausgewertet.

Geprüft wird nur, was zur App gehört: Controls, die einer Komponente der App gehören und gerendert sind. Die Launchpad-Shell, nicht gerenderte Controls und das Innenleben von Bibliotheken bleiben außen vor. Controls aus Templates von Fiori Elements bekommen ihre Texte aus Annotationen und werden deshalb nicht auf hartcodierte Texte geprüft.

Eine Prüfung starten

  1. Öffne die App auf der Seite, die du prüfen willst, und im Panel den Tab Qualität.
  2. Klicke Prüfen. Sollen auch die Sprachdateien verglichen werden, klicke stattdessen Übersetzungen laden (de, en).
  3. Lies oben die Summe aus Fehlern, Warnungen und Hinweisen, darunter die Abschnitte Texte und Barrierefreiheit.
  4. Hast du etwas behoben oder eine andere Seite der App geöffnet, klicke Erneut prüfen.
Karte i18n- und Barrierefreiheitsprüfung mit den Buttons Erneut prüfen und Übersetzungen laden, der Summe 0 Fehler, 0 Warnungen, 14 Hinweise und Zeitpunkt, Controls, Bundles und Kontrastproben
Die Freestyle-Demo-App nach der Prüfung: 121 Controls, ein Bundle, 65 Kontrastproben.
  1. Prüfen, nach dem ersten Lauf Erneut prüfen.
  2. Übersetzungen laden (de, en): prüft und vergleicht dazu die Sprachdateien.
  3. Die Summe aus Fehlern, Warnungen und Hinweisen.
  4. Zeitpunkt, Zahl der Controls, Bundles und Kontrastproben, Dauer; darunter UI5-Version, Sprache und Theme.

Die Prüfung startet auch über die Befehlspalette (Alt+Shift+K, auf dem Mac ⌥+Shift+K) mit dem Befehl i18n- und Barrierefreiheitsprüfung starten. Die Seite merkt sich den letzten Bericht: Nach einem Lauf aus der Palette oder einem Wechsel zwischen DevTools und Side-Panel zeigt der Tab ihn, ohne neu zu prüfen.

AnzeigeBedeutung
„… Controls stammen aus Fiori-Elements-Templates …“So viele Controls sind von der Regel für hartcodierte Texte ausgenommen.
„… Texte auf Bildern oder Verläufen: Kontrast nicht berechenbar.“Für diese Texte gibt es keine einfarbige Hintergrundfarbe; sie werden beim Kontrast übersprungen.
„Große App: Es werden nur die ersten Befunde bzw. Controls gezeigt.“Ein Bericht enthält höchstens 1.500 Befunde, Fehler zuerst.

Abschnitt „Texte“

Abschnitt Texte mit der Schnellaktion Sprache testen, Filtern nach Schweregrad, Regel und Text, dem Stand der Sprachdateien en und de mit je 24 Schlüsseln und dem Befund Schlüssel ungenutzt
Nach „Übersetzungen laden“: beide Sprachdateien der Demo-App haben 24 Schlüssel.
  1. Sprache testen: App in einer anderen Sprache neu laden, dann erneut prüfen.
  2. Filter nach Schweregrad: Alle, Fehler, Warnung, Hinweis, je mit Anzahl.
  3. Filter nach Regel: Alle Regeln oder eine Regel mit Anzahl.
  4. Nach Control, Schlüssel oder Text filtern.
  5. Stand jeder geladenen Sprachdatei: Zahl der Schlüssel oder Datei fehlt, nicht in supportedLocales, nicht ladbar, anderer Ursprung – nicht geladen.
  6. Ein Befund mit Regel, Schlüssel, Bundle, Text, geladenen Dateien und Behebung.
RegelSchwereWann
i18n-Schlüssel fehltFehlerEin Binding verweist auf einen Schlüssel, den es im Bundle nicht gibt. UI5 zeigt dann den Schlüssel selbst.
Text aus einer ErsatzspracheWarnungDer Schlüssel fehlt in der Datei der aktuellen Sprache; UI5 zeigt den Text aus einer Ersatzdatei.
Schlüssel ungenutzt (Hinweis)HinweisKeine geladene View, kein Fragment, Binding oder Manifest nutzt den Schlüssel.
Hartcodierter TextWarnungEine Text-Property ist fest gesetzt statt an {i18n>…} gebunden. Kommt der Text aus Daten, ignoriere den Befund.
Übersetzung fehltWarnungEin Schlüssel fehlt in einer geladenen Sprachdatei (nur nach Übersetzungen laden).
Sprachdatei fehltWarnungEine Sprache steht in supportedLocales, die Datei gibt es aber nicht.
Platzhalter weichen zwischen Sprachen abFehlerEine Übersetzung hat andere Platzhalter ({0}, {1} …) als die Referenz – Werte gehen verloren oder erscheinen als {0}.

Übersetzungen laden (de, en) lädt die Sprachdateien der eigenen Resource Bundles der App über UI5 – nur vom gleichen Ursprung, nur lesend, höchstens zehn Bundles – und vergleicht sie mit der Standarddatei. Eine Sprache, die nicht in den supportedLocales steht, wird nicht angefragt, sondern als nicht in supportedLocales gemeldet.

Sprache testen

  1. Prüfe die App einmal, damit der Abschnitt Texte erscheint.
  2. Wähle unter Sprache testen die Sprache. Daneben steht die aktuelle Sprache.
  3. Klicke Neu laden mit Sprache. Die App lädt mit dem URL-Parameter sap-ui-language neu – Bundles, Texte von Fiori Elements und OData-Texte kommen dann in der neuen Sprache.
  4. Klicke im Tab Qualität auf Prüfen.

Mehr in Werkzeuge öffnet die Karte Sprache im Tab Werkzeuge: mit allen Sprachen der App, den SAP-Testsprachen, RTL und dem Umschalten ohne Neuladen.

Abschnitt „Barrierefreiheit“

Abschnitt Barrierefreiheit mit dem Befund Tabelle oder Liste ohne Titel für sap.m.List productList, Behebung, Links UI5-Dokumentation und WCAG 2.2 – 1.3.1, Buttons Im Inspector zeigen, Hervorheben und Kopieren sowie den Exporten
Die Liste der Demo-App hat keinen Titel – ein Hinweis nach WCAG 1.3.1.
  1. Der Befund: Regel, Schwere, Control-Typ und ID.
  2. Die Behebung in einem Satz.
  3. UI5-Dokumentation und WCAG 2.2 – 1.3.1 öffnen die passenden Seiten.
  4. Im Inspector zeigen wählt das Control im Inspector aus.
  5. In der Seite hervorheben rahmt das Control vier Sekunden lang ein.
  6. Als Markdown kopieren nimmt den Befund mit, etwa für ein Ticket.
  7. CSV exportieren, daneben Markdown exportieren und Alle als Markdown kopieren.
RegelWCAGSchwere
Control ohne zugänglichen Namen4.1.2Fehler
Icon-Button ohne Tooltip4.1.2Warnung
Bild oder Icon ohne Alternativtext1.1.1Fehler bei Bildern, Warnung bei Icons
Klickbares Bild als dekorativ markiert1.1.1Warnung
Formularfeld ohne Label3.3.2Warnung
Tabelle oder Liste ohne Titel1.3.1Warnung bei Tabellen, Hinweis bei Listen
Spalte ohne Überschrift1.3.1Fehler
ARIA-Verweis ins Leere4.1.2Fehler
Fokussierbares Element in verstecktem Container4.1.2Fehler
Textkontrast zu gering1.4.3Fehler

Beim Kontrast gilt 4,5:1, für großen Text (ab 24 px oder ab 18,66 px fett) 3:1 – ohne Runden. Deaktivierte Elemente sind ausgenommen, Texte auf Bildern oder Verläufen werden übersprungen.

Demo-App mit orangem Rahmen um die Produktliste und dem Etikett sap.m.List productList
„In der Seite hervorheben“: Der Rahmen liegt im Overlay von FrontTailor und verschwindet nach vier Sekunden.
  1. Rahmen und Etikett mit Control-Typ und ID.

Befunde filtern und weitergeben

Gleiche Befunde – etwa geklonte Listeneinträge oder wiederholte Texte – fasst FrontTailor zusammen und zählt sie. Beide Abschnitte haben dieselben Filter und Exporte; der Export nimmt die gerade gefilterten Befunde.

ElementWirkung
Alle · Fehler · Warnung · HinweisFilter nach Schweregrad, je mit Anzahl
Alle RegelnFilter nach einer Regel
Nach Control, Schlüssel oder Text filternFreitext; darunter „x von y“
Im Inspector zeigenwechselt in den Tab Inspector und wählt das Control aus; ist es nicht mehr in der Seite, sagt das ein Hinweis
In der Seite hervorhebenRahmen um das Control, vier Sekunden
Als Markdown kopiereneinen Befund in die Zwischenablage
CSV exportierenUTF-8 mit BOM und CRLF; Zellen, die mit =, +, - oder @ beginnen, bekommen ein ' davor
Markdown exportieren · Alle als Markdown kopierenBericht mit Seite, Zeitpunkt und den gefilterten Befunden

Mit der KI-Leiste und deinem eigenen Schlüssel gibt es zwei Einstiege: Fehlende Texte übersetzen im Abschnitt Texte macht aus fehlenden Schlüsseln und Übersetzungen .properties-Snippets je Sprache, Mit KI beheben im Abschnitt Barrierefreiheit schlägt je Befund eine Korrektur mit WCAG-Kriterium vor. Gesendet wird erst nach Vorschau und Klick.

Was die Prüfung nicht sieht

  • Ungenutzte Schlüssel sind nur ein Hinweis: Controller, Formatter und nicht geladene Views sieht die Prüfung nicht.
  • Fehlende Schlüssel und hartcodierte Texte findet sie nur in gerenderten Views. Öffne Dialoge und weitere Seiten und prüfe erneut.
  • Der zugängliche Name ist eine Näherung an das, was ein Screenreader ansagt.
  • Kein Kontrast für Nicht-Text-Elemente (WCAG 1.4.11), keine Prüfung von Tastatur und Fokusreihenfolge.

Typische Probleme

ProblemUrsache und Lösung
Viele Hinweise Schlüssel ungenutztDie Schlüssel werden vermutlich im Controller mit getText() genutzt. Erst nach einer Suche im Code löschen.
Keine Befunde in einer App mit Fiori ElementsTexte aus Annotationen und Templates sind von der Regel für hartcodierte Texte ausgenommen. Die Meta-Zeile nennt, wie viele Controls das betrifft.
Ein Dialog fehlt im BerichtGeprüft wird nur, was gerendert ist. Dialog öffnen, Erneut prüfen.
anderer Ursprung – nicht geladenDas Bundle liegt auf einem anderen Host. Übersetzungen werden nur vom Ursprung der App geladen.
Das Control ist nicht mehr in der Seite.Die App hat neu gerendert oder navigiert. Erneut prüfen.

Siehe auch

Fundstellen auf dieser Seite

Die hochgestellten Ziffern im Text verweisen hierher. Antippen zeigt die Fundstelle direkt an der Textstelle, alle Fundstellen der Website stehen gesammelt auf einer Seite.

  1. 1

    i18n- und Barrierefreiheitsprüfung ↑Produkt · FrontTailor-Produktdokumentation, ADR-033 „i18n und Barrierefreiheit“ · geprüft am 09.11.2026

Häufige Fragen

Kurz beantwortet.

Ändert die Qualitätsprüfung etwas an meiner App?
Nein. Sie liest Controls, Bundles, Beschriftungen und Farben einmal und wertet alles im Browser aus. Nur „Übersetzungen laden“ stellt Anfragen, und zwar an den eigenen Ursprung der App.
Warum meldet die Prüfung Schlüssel als ungenutzt, die ich im Controller brauche?
Controller, Formatter und nicht geladene Views sieht die Prüfung nicht. Deshalb ist „Schlüssel ungenutzt“ nur ein Hinweis – vor dem Löschen im Code suchen.
Ersetzt die Prüfung einen Barrierefreiheitstest?
Nein. Sie findet typische Fehler nach WCAG 2.2 AA in gerenderten Controls, prüft aber weder Tastaturbedienung noch Fokusreihenfolge noch Kontrast von Nicht-Text-Elementen.
Welche Edition brauche ich?
Die i18n- und Barrierefreiheitsprüfung gehört zur Edition Pro.

Deine Frage ist nicht dabei? Sprich mich an: +43 664 1964199 office@clouddna.at Schreib mir

Kontakt

Zehn Tabs zu viel? Sprich mit uns.

Pro und Team kaufst du direkt hier. Für Enterprise, Sideload, Richtlinien, einen Workshop oder einen hartnäckigen Fehler in eurer Fiori-Landschaft: Schreib mir. Ich antworte innerhalb eines Werktags, persönlich.

Martin KochGeschäftsführer, CloudDNAIch lese jede Anfrage selbst und antworte persönlich.