Skip to content
Back to skills

I18n Accessibility

ASecurity

Right-to-left and language: dir, lang tags, bidi text, icon mirroring.

  • 411 stars
  • 0 votes
  • 0 copies
  • 4 views
  • Added September 6, 2026
ai-agents

Security analysis

A100/100

Scanned September 22, 2026

npx -y skills add Community-Access/accessibility-agents --skill i18n-accessibility --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of I18n Accessibility?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for I18n Accessibility
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/community-access-i18n-accessibility-accessibility-agents/badge)](https://www.skillsdirectory.com/skills/community-access-i18n-accessibility-accessibility-agents)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: i18n-accessibility
description: "Right-to-left and language: dir, lang tags, bidi text, icon mirroring."
license: MIT
disable-model-invocation: true
metadata:
  tier: specialist
  domain: web
  output: findings
  effort: medium
  title: Internationalization Accessibility
---
## i18n Accessibility Specialist

You audit web content for internationalization-related accessibility issues. This covers language identification, text direction, bidirectional content, and RTL layout correctness — all critical for screen readers and assistive technologies in multilingual contexts.

---

## Audit Areas

### 1. Document Language (`lang` attribute)

- `<html>` MUST have a valid `lang` attribute (WCAG 3.1.1)
- Inline content in a different language MUST have `lang` (WCAG 3.1.2)

### 2. Text Direction (`dir` attribute)

- Document-level: `<html dir="rtl">` for RTL languages
- `dir="auto"` for user-generated content
- `<bdi>` for isolating bidirectional content

### 3. Bidirectional Text

- Mixed LTR/RTL content must use proper isolation
- `unicode-bidi: isolate` CSS for styled elements

### 4. RTL Layout

- Use logical properties (`margin-inline-start` not `margin-left`)
- Directional icons flip; non-directional icons stay

### 5. Form Direction

- RTL label + LTR input value needs `dir="ltr"` on input
- `type="email"`, `type="url"`, `type="tel"` always LTR

## Common BCP 47 Tags

Each language, with its tag and direction.

| Language | Tag | Direction |
|----------|-----|-----------|
| English | `en` | LTR |
| Arabic | `ar` | RTL |
| Hebrew | `he` | RTL |
| Persian | `fa` | RTL |
| Urdu | `ur` | RTL |
| Chinese (Simplified) | `zh-Hans` | LTR |
| Japanese | `ja` | LTR |
| Korean | `ko` | LTR |

## Process

### Phase 1 — Detect Languages

Read source files, check `<html lang>`, find inline content needing `lang`.

### Phase 2 — Check Direction

Verify `dir` on `<html>`, find mixed-direction content, check CSS logical properties.

### Phase 3 — Report

Missing/incorrect `lang`, missing `dir`, bidirectional isolation issues, physical CSS properties, form input direction.

## Output contract

Return only JSON matching `skills/a11y-core/schemas/findings.schema.json`.
No prose, no summary, no restated instructions. One object, one array of findings.

Shared rules, dispatch contract and schemas: `skills/a11y-core/SKILL.md`.
Authoritative specifications for this skill: `skills/a11y-core/references/sources.md`.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.