davidortinau/maui-skills/maui-accessibility
Claude Code and agent skill by davidortinau/maui-skills
- community
Checking that the SKILL.md file is still in the repository.
Guide for making .NET MAUI apps accessible — screen reader support via SemanticProperties, heading levels, AutomationProperties visibility control, programmatic focus and announcements, and platform-specific gotchas for TalkBack, VoiceOver, and Narrator. USE FOR: "add accessibility", "screen reader support", "SemanticProperties", "AutomationProperties", "TalkBack", "VoiceOver", "Narrator", "accessible MAUI", "heading levels", "semantic description", "announce to screen reader", "accessibility audit". DO NOT USE FOR: general UI layout (use maui-collectionview or maui-shell-navigation), animations (use maui-animations), or gestures (use maui-gestures).
Install
npx vskill@latest install davidortinau/maui-skills/maui-accessibilitySKILL.md
.NET MAUI Accessibility
Critical Platform Gotchas
1. Don't set Description on Label
Setting SemanticProperties.Description on a Label overrides the Text property for screen readers. The label may be read twice or behave unexpectedly.
2. Android Entry/Editor: Description breaks TalkBack actions
On Android, setting SemanticProperties.Description on Entry or Editor causes TalkBack to lose "double tap to edit" action hints.
3. iOS: Description on parent hides children
On iOS/VoiceOver, setting SemanticProperties.Description on a layout makes the entire container a single accessible element — child elements become unreachable.
4. Hint conflicts with Entry.Placeholder on Android
On Android, SemanticProperties.Hint and Entry.Placeholder map to the same Android attribute (contentDescription / hint). Setting both causes one to override the other. Choose one.
5. HeadingLevel platform differences
- Windows (Narrator): Supports all 9 heading levels (
Level1–Level9). - Android (TalkBack) / iOS (VoiceOver): Only distinguish "heading" vs
"not heading". All levels are treated identically.
Use heading levels for semantic correctness — just know the hierarchy only renders on Windows.
Accessibility Checklist
When auditing or retrofitting a page:
- Images: Add
SemanticProperties.Descriptionto meaningful images.
Set AutomationProperties.IsInAccessibleTree="false" on decorative ones.
- Buttons/Controls: Ensure icon-only buttons have
Description.
Text buttons generally don't need it.
- Entries/Editors: Use
Placeholderfor context. AddHintonly if
extra instruction is needed. Avoid `Description` (Android breakage).
- Labels: Do not add
Description— letTextspeak for itself.
Add HeadingLevel to section headers.
- Headings: Mark page title as
Level1, section titles asLevel2, etc. - Grouping: Avoid
Descriptionon layout containers (iOS breakage).
Use ExcludedWithChildren to hide decorative groups.
- Dynamic content: Call
SemanticScreenReader.Announcefor status
changes. Use SetSemanticFocus after navigation or error display.
- Tab order: Set
TabIndexon interactive controls for logical order. - Test: Run TalkBack (Android), VoiceOver (iOS/Mac), and Narrator
(Windows) to verify reading order and actions.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingplugins/maui-skills/skills/maui-accessibility/SKILL.md
Popularity
- Repository stars
- 111
- Repository forks
- 16
- 7-day trend score
- 24
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 8 Apr 2026, 6 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/davidortinau/maui-skills/maui-accessibility)