feat(ui5): Add accessibility best practices skill#85
Conversation
- SKILL.md: drop non-standard `allowed-tools` line; rewrite topic-file paths to plain `references/X.md` to match sibling skills; expand description with WCAG / screen-reader / focus-handling keywords; rename topic 4 to "Focus & keyboard" so it matches keyboard.md. - tests/fixtures: add gap-keyboard.view.xml covering all three topic-4 violations (missing initialFocus, missing sap-ui-fastnavgroup, tabindex > 0) — this was the one topic without a gap fixture. - tests/README.md: register the new fixture and clarify that fixtures are run manually (no auto harness).
94c1833 to
e18447e
Compare
There was a problem hiding this comment.
LGTM
An UA review and Acc expert review is still nice to have!
From my perspective structure & content wise the skill is good to go!
I got something that might improve the accuracy and might worth give it a try:
- create an
eval.mdfile, so that test cases are evaluated correctly and the model won't rely simply on test case's name to identify what to expect.
Here are some resources I found: https://www.mindstudio.ai/blog/self-improving-marketing-skill-claude-code-eval-json
Defines a versioned eval suite for the ui5-best-practices-accessibility skill. Each of the 14 fixtures gets a test case with binary assertions (report_finding, report_empty, finding_count_max, must_not_mention) that a runner can check against the skill's Step-3 report. Follows the eval.json pattern described at https://www.mindstudio.ai/blog/self-improving-marketing-skill-claude-code-eval-json
added eval.json |
All 33 assertions across 14 test cases pass at first attempt. The eval.json harness is well-designed — must_not_mention assertions on the ok-fixtures directly guard the three highest false-positive risk scenarios (SimpleForm, Dialog customHeader, ObjectNumber). Well done! 👍 |
LilyanaOviPe
left a comment
There was a problem hiding this comment.
Just a few minor comments. Otherwise looks good.
| # Skill Test Fixtures | ||
|
|
||
| These fixtures are **not** auto-run — there is no test harness, CI job, or assertion | ||
| framework. They are reference cases for manually validating the skill's behaviour: |
There was a problem hiding this comment.
| framework. They are reference cases for manually validating the skill's behaviour: | |
| framework. They are reference cases for manually validating the skill's behavior. |
| invoke `/ui5-best-practices-accessibility` against each file and verify the output | ||
| matches the expectations below. |
There was a problem hiding this comment.
| invoke `/ui5-best-practices-accessibility` against each file and verify the output | |
| matches the expectations below. | |
| Invoke `/ui5-best-practices-accessibility` against each file and verify the output | |
| matches the expectations below. |
| ## When not to use | ||
|
|
||
| - Do not provide information exclusively for AT users — screen reader users should not receive content that sighted users cannot access | ||
| - Do not use it to hide long texts — if the information matters, show it visibly |
There was a problem hiding this comment.
| - Do not use it to hide long texts — if the information matters, show it visibly | |
| - Do not use it to hide long texts — if the information matters, show it |
Adds a new skill for UI5 accessibility best practices covering keyboard navigation, labelling, landmarks, heading levels, reading order, target size, shortcuts, and invisible messages. Includes reference documentation and test fixtures for each topic.