Accessibility / Reading / Multilingual Bidi Audit

The Multilingual and BIDI Audit bookmarklet checks language and direction attributes against actual text content. Detects RTL script characters (Hebrew, Arabic ranges), identifies elements containing RTL text without `dir="rtl"`, checks for missing `lang` attributes, highlights language issues in orange dashed borders, highlights direction issues in red solid borders, and displays an alert with the total count of issues. Run again to remove.

WCAG SC 3.1.1: Language of PageWCAG SC 3.1.2: Language of Parts
Run Multilingual Bidi Audit

Test run or drag to
bookmarklets bar to install

javascript:%21function()%7B%22use%20strict%22%3Btry%7Bconst%20t%3D%2F%5B%5Cu0590-%5Cu05FF%5Cu0600-%5Cu06FF%5Cu0750-%5Cu077F%5Cu08A0-%5Cu08FF%5D%2F%2Ce%3D%22a11y-bidi%22%2Cn%3Ddocument.getElementById(e)%3Bn%26%26n.remove()%3Bconst%20o%3Ddocument.createElement(%22div%22)%3Bo.id%3De%2Co.style%3D%22position%3Afixed%3Binset%3A0%3Bpointer-events%3Anone%3Bz-index%3A2147483647%22%3Bconst%20i%3D%5B...document.querySelectorAll(%22p%2Cspan%2Cdiv%2Cli%2Cth%2Ctd%2Ch1%2Ch2%2Ch3%2Ch4%2Ch5%2Ch6%22)%5D.filter(t%3D%3Et.offsetParent%26%26(t.innerText%7C%7C%22%22).trim())%3Blet%20l%3D0%3Bfor(const%20e%20of%20i)%7Bconst%20n%3De.innerText.trim()%2Ci%3Dt.test(n)%2Cd%3D(e.dir%7C%7Cdocument.documentElement.dir%7C%7C%22ltr%22).toLowerCase()%2Cr%3De.closest(%22%5Blang%5D%22)%3F.getAttribute(%22lang%22)%7C%7Cdocument.documentElement.getAttribute(%22lang%22)%7C%7C%22%22%3Bif(i%26%26%22rtl%22%21%3D%3Dd)%7Bconst%20t%3De.getBoundingClientRect()%2Cn%3Ddocument.createElement(%22div%22)%3Bn.style%3D%60position%3Aabsolute%3Bleft%3A%24%7Bt.left%2BscrollX%7Dpx%3Btop%3A%24%7Bt.top%2BscrollY%7Dpx%3Bwidth%3A%24%7Bt.width%7Dpx%3Bheight%3A%24%7Bt.height%7Dpx%3Bborder%3A3px%20solid%20%23e00%60%2Cn.title%3D%22RTL%20text%20without%20dir%3Drtl%22%2Co.appendChild(n)%2Cl%2B%2B%7Dif(%21r)%7Bconst%20t%3De.getBoundingClientRect()%2Cn%3Ddocument.createElement(%22div%22)%3Bn.style%3D%60position%3Aabsolute%3Bleft%3A%24%7Bt.left%2BscrollX%7Dpx%3Btop%3A%24%7Bt.top%2BscrollY%7Dpx%3Bwidth%3A%24%7Bt.width%7Dpx%3Bheight%3A%24%7Bt.height%7Dpx%3Bborder%3A2px%20dashed%20%23f80%60%2Cn.title%3D%22Missing%20lang%22%2Co.appendChild(n)%2Cl%2B%2B%7D%7Ddocument.body.appendChild(o)%2Calert(%60Language%20or%20dir%20issues%3A%20%24%7Bl%7D%60)%2Cconsole.log(%22%5CnSource%3A%20https%3A%2F%2Fgithub.com%2Falejandrogiga98%2FA11y-Bookmarklets%5CnBookmarklet%20name%3A%20Multilingual%20and%20bidi%20audit%5CnAuthor%3A%20alejandrogiga98%5CnLicense%3A%20MIT%20License%5Cn%22)%7Dcatch(t)%7Balert(%22Bookmarklet%20Error%3A%20%22%2Bt.message)%7D%7D()%3B
← Back to all bookmarklets