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 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 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 For an Abu Dhabi real estate platform (Reach Home Properties), I stuck to semantic HTML: Added bonus: This improves SEO. My article on Arabic SEO goes deeper into how markup affects rankings. 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: A client in Jeddah nearly launched a site that failed keyboard navigation in Arabic menus. Took me three hours to fix I recently worked on a Laravel API that handled Arabic form submissions. Validation errors looked like this: How do you make error messages understandable for screen readers? I added Also—never forget to set You’ll never catch everything through code. Last year, I partnered with an accessibility testing group in Kuwait. Their findings? We redesigned the datepicker component to read out loud the Hijri calendar date + time alongside Gregorian. Pain in the ass. 100% necessary. 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. Avoid CSS 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. Use AChecker’s Arabic plugin alongside W3C’s Internationalization Checker. I validate HTML lang attributes across bilingual Next.js pages with 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.s with <header>
<nav aria-label="Main navigation">
<ul class="menu">
<li><a href="/properties">عقارات</a></li>
</ul>
</nav>
</header>Don’t Trust Automated Tools Alone
@charset checks with browser dev tools axe-core in Laravel :focus styling with &:focus-visible in Tailwind. Data Attributes Save Lives (Sometimes)
{
"error": "حقل الهاتف غير مكتمل"
}aria-live="polite" regions and used data-error-code to programmatically map errors to accessible alerts. 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)
aria-expanded Frequently Asked Questions
Do WCAG standards apply to Arabic-only websites in the UAE?
How to handle Arabic text truncation on mobile menus?
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?
Which tools test for Arabic language compliance specifically?
next-intl — see my multi-language setup guide.
Sarah
Senior Full-Stack Developer & PMP-Certified Project Lead — Abu Dhabi, UAE
7+ years building web applications for UAE & GCC businesses. Specialising in Laravel, Next.js, and Arabic RTL development.
Work with Sarah