audit-accessibility

Stellen Sie sicher, dass die benutzerdefinierten UI-Komponenten des Plugins für Benutzer mit Screenreadern und anderen assistiven Technologien zugänglich sind.

npx skills add https://github.com/flutter/flutter-intellij --skill audit-accessibility

Skill: Accessibility (A11y) Audit

You are tasked with ensuring the plugin's custom UI components are accessible to users with screen readers and other assistive technologies.

Objective

Ensure the plugin's custom UI components are accessible to users with screen readers and other assistive technologies.

Workflow Instructions

1. Baseline

  • Run ./gradlew testClasses to ensure project compilation.
  • Run ./gradlew test to ensure the project is stable.
  • Run ./gradlew verifyPlugin to ensure no verification issues.

2. Identify Custom UI

  • List all custom JPanel, JComponent, or Dialog classes in the codebase.

3. Check Properties

  • Verify that every interactive component has:
    • getAccessibleContext().setAccessibleName(...)
    • getAccessibleContext().setAccessibleDescription(...)

4. Focus Management

  • Ensure custom components handle focus traversal correctly (Tab/Shift+Tab).

5. Color Contrast

  • If custom colors are used, verify they meet WCAG contrast guidelines (especially for dark themes).

6. Verify

  • Run ./gradlew testClasses and ./gradlew test to ensure no regressions.
  • Run ./gradlew verifyPlugin to ensure strict compliance.
  • Use the "Accessibility Inspector" (if available in the SDK) or a screen reader to navigate the UI.
  • Suggest manual test steps: Check the code changes made and write test steps for a user to execute that will trigger the code paths that have changed. If needed, add logging statements to verify that the code paths have successfully run.

7. Report & Review

  • Summarize the accessibility improvements in the form of a git commit message.
  • Test Location: Explicitly state where in the IDE the user should go to test the changed functionality (e.g., "Go to Preferences > Languages & Frameworks > Flutter").
  • Action: Ask the user to review the UI changes closely.
  • Do not commit or push.

Mehr Skills von flutter

dart-modern-features
flutter
Um Kandidaten für die Modernisierung zu finden:
flutter-fix-layout-issues
flutter
Behebt Flutter-Layout-Fehler (Überläufe, unbegrenzte Constraints) mit Dart und Flutter MCP Tools. Verwenden bei der Behebung von "RenderFlex overflowed", "Vertical…
adding-release-notes
flutter
Fügt benutzerseitige Änderungsbeschreibungen zu den DevTools-Versionshinweisen hinzu. Verwenden Sie dies, wenn Sie Verbesserungen, Fehlerbehebungen oder neue Funktionen in der Datei NEXT_RELEASE_NOTES.md dokumentieren.
reviewing-devtools-prs
flutter
DevTools-repositoriumspezifischer PR-Review-Workflow, der die DevTools-Stilrichtlinien und gängige Review-Muster durchsetzt. Verwenden Sie dies beim Überprüfen von Pull Requests im…
dart-use-primary-constructors
flutter
Helfen Sie Benutzern, syntaktisch und semantisch korrekte primäre Konstruktoren in Dart zu schreiben, und migrieren/verwenden Sie die neue Konstruktorsyntax, die Semikolon-Syntax mit leerem Körper, …
code-documentation
flutter
Leitfaden für das Schreiben effektiver Code-Dokumentation, einschließlich Docstrings, JSDoc, dartdoc und Implementierungskommentaren. Verwenden Sie diese Fähigkeit beim Schreiben von neuem Code, beim Hinzufügen…
api-review
flutter
Überprüft den angegebenen Code gegen die kanonischen API-Design-Richtlinien. Verwenden Sie dieses Skill, wenn der Benutzer eine API-Überprüfung anfordert oder Code gegen API-Design…
flutter-accessibility
flutter
Implementiert WCAG 2- und EN 301 549-Barrierefreiheitsstandards sowie adaptive Layouts in Flutter-Apps. Erzwingt semantische Annotationen, Mindestgrößen für Antippziele (48x48 dp) und Textkontrastverhältnisse (4,5:1 für kleinen Text, 3:1 für großen Text) auf mobilen, Web- und Desktop-Plattformen. Bietet Entscheidungslogik für die Initialisierung von Websemantik, das Umschließen interaktiver Widgets, bildschirmgrößenbasiertes Layout-Switching sowie Tastatur-/Mauseingabe-Handling. Enthält Fokus-Traversal-Management über FocusTraversalGroup und...