R064: Latin punctuation, or wrong-script letterforms, inside Arabic text
Latin commas, semicolons and question marks in Arabic copy read as half-translated, while Persian letters, pasted presentation forms and decorative kashida look right but break search.
The check
- Id
- R064
- Category
- Numbers, dates and currency
- Default severity
When it fires
Text that is mostly Arabic, at least 10 Arabic letters, has a Latin comma between two Arabic words, or a Latin semicolon or question mark after one, where Arabic has its own marks: ، ؛ ؟. Reported at medium confidence when a comma is among them, since the comma has the most legitimate mixed uses, and high otherwise.
Fix: Replace with the Arabic forms: ، for a comma, ؛ for a semicolon, ؟ for a question mark.
Text with at least 10 Arabic letters holds characters that look Arabic and are not: Farsi yeh or keheh from a Persian keyboard, presentation forms pasted from a PDF, or three or more tatweels stretching a word by hand. Search, sorting and screen readers treat them as different characters. Reported at medium confidence when tatweel is among them, and high otherwise.
Fix: The fix for each kind found: normalise Farsi yeh and keheh to Arabic yeh and kaf at the content source, normalise presentation forms with NFKC, and remove decorative tatweel.
What it leaves alone
A comma between digits, like ١٢٣,٤٥٦, or beside Latin text, like Ritla, Inc.; one or two tatweels, which can be legitimate typography; mostly-Latin text, which is R010's; and code blocks, translate="no" and non-Arabic lang contexts. Up to four punctuation findings and eight in all per page.
Broken, then fixed
<p>هل أنت مستعد? ابدأ الآن, مجاناً</p><p>هل أنت مستعد؟ ابدأ الآن، مجاناً</p>Check it by hand
Run [...document.body.innerText].filter((c) => /[\u06CC\u06A9\uFB50-\uFDFF\uFE70-\uFEFF\u0640]/u.test(c)).length in the DevTools console. Anything above zero is a character that looks Arabic and is not, or a tatweel worth a look. For punctuation, look for , ; and ? touching Arabic words.
What the report shows you
Each R064 finding carries the fields below that apply to it, so you can see why it fired without rerunning the scan.
- marks
- Punctuation: each Latin mark found, with the Arabic mark it stands in for.
- kinds
- Letterforms: which kinds were found:
persian,presentation-formsortatweel. - sample
- The element's text, cut to 120 characters.
Does your page trip R064?
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