Skip to content

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
high

When it fires

  1. high

    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

before.html
<label for="email">Email address</label>
<p class="error">This field is required</p>
after.html
<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, or form text for 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