CtrlK
BlogDocsLog inGet started
Tessl Logo

aria-text

Use when reviewing rendered HTML, interactive components, or design-system patterns related to Avoid focusable descendants in role='text' elements. Check native semantics first, then inspect keyboard behavior, focus flow, accessible names, and screen-reader output where relevant.

68

Quality

83%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide

SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

Quality

Content

78%Weight 40%Scale 1-5

Reviews the quality of instructions and guidance provided to agents. Good implementation is clear, handles edge cases, and produces reliable results.

The body is a lean, well-sectioned overview with a coherent Check/Fix/Explain/Code Review flow and an appropriately signaled one-level-deep reference that exists and carries the code examples and verification detail. The main gaps are the absence of any inline violating-markup example, mild redundancy between the intro and the Explain section, and validation being alluded to rather than an explicit step.

Suggestions

Inline one compact ✅/❌ markup pair (or link to the reference's Code Example section from the Check section) so the violating pattern is visible without opening references.

Merge the intro paragraph and the Explain section, which both state that role='text' flattens descendant semantics, to remove the duplication.

Add an explicit Verify step in the body, e.g., "After fixing, re-check the container with keyboard navigation or an axe/Lighthouse run", instead of only mentioning verification inside Code Review.

DimensionReasoningScore

Conciseness

The ~35-line body is lean with no library tutorials or padding, but there is redundancy: the intro paragraph ("forces screen readers to treat everything inside as a single string of text") and the Explain section ("role='text' overrides the semantics of descendant elements") state the same thing, and the "black holes" Quick Reference bullet repeats it again. This fits anchor 4 (efficient, minor instances that could be trimmed) rather than anchor 5 (every token earns its place).

4 / 5

Actionability

The Check section is specific ("Identify elements with role='text' and verify they do not contain any focusable elements like buttons, links, or inputs") and the Fix section gives two concrete remedies (remove role='text' or move interactive elements outside). It falls short of anchor 5 because the body contains no inline example of the violating markup (delegated to references) and "browser accessibility tooling" names no specific tool, leaving minor gaps per anchor 4.

4 / 5

Workflow Clarity

The Check → Fix → Explain → Code Review sections form a clear, well-ordered sequence for a simple single-rule skill, with "note how to verify the fix with browser accessibility tooling or assistive tech" mentioning validation. It does not reach anchor 5 because the body has no explicit validation step or feedback loop of its own — verification is only alluded to and lives in the reference file — fitting anchor 4 (clear sequence, minor validation gaps).

4 / 5

Progressive Disclosure

The body is a concise, well-sectioned overview that correctly delegates detail via a clearly signaled one-level-deep pointer ("For full implementation details, code examples, and framework-specific guidance, see `references/rule.md`"), and the referenced file exists and contains the code examples and verification detail. The split is appropriate and navigation is easy, matching anchor 5; the pointer's "framework-specific guidance" phrase slightly overpromises, but not enough to drop to anchor 4's 'minor organization gaps'.

5 / 5

Total

17

/

20

Passed

Description

87%Weight 40%Scale 1-5

Based on the skill's description, can an agent find and select it at the right time? Clear, specific descriptions lead to better discovery.

The description explicitly states both what the skill does and when to use it, anchored by the highly distinctive "role='text'" trigger, giving it strong completeness and distinctiveness. The remaining gaps are minor: the action list is generic a11y inspection boilerplate rather than rule-specific, and natural synonyms like "accessibility", "a11y", and "ARIA" are absent.

Suggestions

Replace the generic inspection list with the rule-specific action, e.g., "Identify role='text' containers holding links, buttons, or inputs and flag or fix them".

Add natural synonyms users would actually say — "accessibility", "a11y", "ARIA", "screen reader" — so trigger phrasing matches, e.g., "Use when reviewing HTML or design-system markup for the ARIA role='text' accessibility rule".

DimensionReasoningScore

Specificity

Lists several concrete actions ("Check native semantics first, then inspect keyboard behavior, focus flow, accessible names, and screen-reader output"), but these are generic a11y-review actions rather than rule-specific ones — the description never states the core action of identifying role='text' containers with focusable children. This matches anchor 4 (several specific actions, minor gaps) better than anchor 5, and is clearly above anchor 3 (only 1-2 concrete actions).

4 / 5

Completeness

Explicitly answers both parts: "Use when reviewing rendered HTML, interactive components, or design-system patterns related to Avoid focusable descendants in role='text' elements" is a concrete when-clause, and "Check native semantics first, then inspect keyboard behavior, focus flow, accessible names, and screen-reader output" is an explicit what. Both are present with concrete trigger phrases, matching anchor 5; anchor 4 would require the when-clause to be less explicit, which it is not.

5 / 5

Trigger Term Quality

Good keyword coverage including "rendered HTML", "interactive components", "design-system patterns", "role='text'", "keyboard behavior", "focus flow", "accessible names", and "screen-reader output". Common natural synonyms like "accessibility", "a11y", "ARIA", and "screen reader" are missing, so it fits anchor 4 (good coverage, a few natural terms missing) rather than anchor 5 (comprehensive synonyms).

4 / 5

Distinctiveness Conflict Risk

The embedded rule name and "role='text'" term create a clear niche with distinct triggers — a user dealing with this exact issue would say "role=text". Although the second sentence's inspection list is generic a11y boilerplate that sibling rules might share, the when-clause is anchored to this specific rule, keeping conflict risk minimal (anchor 5) rather than merely 'minor overlap' (anchor 4).

5 / 5

Total

18

/

20

Passed

Validation

93%

Checks the skill against the spec for correct structure and formatting. All validation checks must pass before discovery and implementation can be scored.

Validation — 15 / 16 Passed

Validation for skill structure

CriteriaDescriptionResult

metadata_version

'metadata.version' is missing

Warning

Total

15

/

16

Passed

Repository
thedaviddias/Front-End-Checklist
Reviewed

Table of Contents

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.