R071: Untranslated form labels / validation / help text
English left in labels, hints and any visible error text inside a form on an Arabic page; a reader who cannot understand a field or its error cannot complete the form.
The check
- Id
- R071
- Category
- Forms
- Default severity
When it fires
On an Arabic page, a visible
<label>, or text inside a<form>that is not a control itself, like a hint or an error message on screen when the page was scanned, has no Arabic in it and at least two Latin words left once brand names, URLs and codes are set aside.Fix: Translate this string; error/help text outranks body copy in priority.
What it leaves alone
Buttons and links inside the form, which R011 checks; placeholders and other attributes, which R012 checks; error messages that were not on screen when the page was scanned; and code blocks, translate="no" and non-Arabic lang contexts. A string reported here is not reported again by R010. Up to eight per page.
Broken, then fixed
<label for="email">Email address</label>
<p class="error">This field is required</p><label for="email">البريد الإلكتروني</label>
<p class="error">هذا الحقل مطلوب</p>Check it by hand
Run [...document.querySelectorAll('form *, label')].filter((e) => e.children.length === 0 && e.checkVisibility() && !/\p{Script=Arabic}/u.test(e.textContent) && /[A-Za-z]{2,}\s+[A-Za-z]{2,}/.test(e.textContent)).map((e) => e.textContent.trim()) in the DevTools console. Submit the form empty first, so its error messages are on screen when you look.
What the report shows you
Each R071 finding carries the fields below that apply to it, so you can see why it fired without rerunning the scan.
- text
- The string as written, cut to 140 characters.
- kind
label, orform textfor a hint or error inside the form.
Does your page trip R071?
Paste a URL. Ritla renders the page on desktop, tablet and mobile, runs every check, and shows the top issues with screenshot evidence.
Scan a page freeBrowse the checks