I remember the first time I tried to explain WCAG compliance to a client in Dubai. They said, "You mean you have to make this site work for everyone?" Yeah. That’s the whole point.
A few months ago, I delivered a Laravel/Next.js project for a logistics company in Riyadh. Their old site failed every color contrast test because the Arabic script was too light against the background. Fixing that took six hours of debugging, but the client didn’t care until they saw an error rate drop from 38% to 0.
RTL Languages Aren’t an Afterthought
Right-to-left (RTL) support isn’t optional for Arabic websites. But just flipping the layout isn’t enough. I’ve seen developers use dir="rtl" on <html> and call it a day. Big mistake.
When I rebuilt Tawasul Limo’s booking platform, I tested every component in both languages. Navigation menus had to reverse, form labels align to the right, and even datepickers had to handle Arabic calendar systems.
Tools I rely on:
- •
postcss-rtlcssto automatically generate RTL styles from my LTR CSS - •Tailwind’s
rtlplugin for directional utilities - •BrowserStack’s RTL testing environment
One frustrating bug: A client in Ajman wanted a slider with both LTR/RTL controls. The third-party React component kept positioning the thumbs incorrectly. I rewrote it using <input type="range"> with dynamic dir attributes. Took two days instead of five minutes.
Use Native HTML Elements, Not Flashy JavaScript
This isn’t just an accessibility rule—it’s practical. I once inherited a Vue project where a developer replaced all <button>s with <div role="button"> to add "style." Screen readers screamed about missing focus states.
For an Abu Dhabi real estate platform (Reach Home Properties), I stuck to semantic HTML:
<header>
<nav aria-label="Main navigation">
<ul class="menu">
<li><a href="/properties">عقارات</a></li>
</ul>
</nav>
</header>Added bonus: This improves SEO. My article on Arabic SEO goes deeper into how markup affects rankings.
Don’t Trust Automated Tools Alone
My first accessibility audit used WAVE and Axe DevTools. Total lie. They missed 30% of issues because they didn’t understand Arabic content structure.
Now I combine:
- Manual testing:
@charsetchecks with browser dev tools - Server-side validation using
axe-corein Laravel - Screen reader spot tests (JAWS + Arabic language switch)
A client in Jeddah nearly launched a site that failed keyboard navigation in Arabic menus. Took me three hours to fix :focus styling with &:focus-visible in Tailwind.
Data Attributes Save Lives (Sometimes)
I recently worked on a Laravel API that handled Arabic form submissions. Validation errors looked like this:
{
"error": "حقل الهاتف غير مكتمل"
}How do you make error messages understandable for screen readers? I added aria-live="polite" regions and used data-error-code to programmatically map errors to accessible alerts.
Also—never forget to set lang="ar" on Arabic content blocks. Missed that once on a bilingual property listing site. Google started indexing Arabic pages as English. Fun times.
Testing with Real People (Yes, It’s Mandatory)
You’ll never catch everything through code. Last year, I partnered with an accessibility testing group in Kuwait. Their findings?
- •40% of users struggled with Arabic date input fields
- •18% couldn’t navigate a bilingual blog carousel
- •One visually impaired user couldn’t open a PDF download link because it lacked
aria-expanded
We redesigned the datepicker component to read out loud the Hijri calendar date + time alongside Gregorian. Pain in the ass. 100% necessary.
Frequently Asked Questions
Do WCAG standards apply to Arabic-only websites in the UAE?
Yes. The UAE has passed Federal Decree-Law No. 5 of 2022 on the Rights of Persons with Disabilities, which references international accessibility standards. Dubai’s Smart City initiative also requires compliance for government sites.
How to handle Arabic text truncation on mobile menus?
Avoid CSS text-overflow: ellipsis. Instead, use JavaScript-based expansion buttons with aria-expanded. I’ve used this approach on Greeny Corner’s plant care app menu, which ships with React Native 0.74.
What’s the biggest accessibility mistake in Arabic sites?
Poor color contrast. Arabic diacritics (تَشْدِيدَة, etc.) require at least 4.5:1 contrast ratios against backgrounds. Many UAE businesses still use pale gray text on white, failing WCAG AA.
Which tools test for Arabic language compliance specifically?
Use AChecker’s Arabic plugin alongside W3C’s Internationalization Checker. I validate HTML lang attributes across bilingual Next.js pages with next-intl — see my multi-language setup guide.
If you’re rebuilding a bilingual site for a UAE business and need someone who’s actually tested 40+ projects in this region, let’s talk. I’ll save you 20 hours of WCAG frustration.