Avoid scrolljacking and custom scroll behavior
SkillMediaScrolljacking is a skill for reviewing rendered HTML, interactive components, and design-system patterns related to scroll behavior. It guides an agent to check native semantics first, then inspect keyboard behavior, focus flow, accessible names, and screen-reader output so custom scrolling stays easy to control.
Use Avoid scrolljacking and custom scroll behavior in Claude, ChatGPT or Ahel Desktop
Free. Sign in, add Avoid scrolljacking and custom scroll behavior and connect your AI. About a minute.
Also: Claude Code · Cursor · Codex
Then ask your AI: use the Avoid scrolljacking and custom scroll behavior skill
Details
Instructions available. Your AI can read the instructions. Execution depends on the setup they require.
Account requirements not reviewed. Check the skill instructions before use; ahel provides instructions and does not run this skill.
No other account needed.
Have an agent that can load and use skills.
What your AI can do with it
- Review rendered HTML for custom scroll behavior
- Check interactive components against native semantics first
- Inspect keyboard behavior in scrolling designs
- Examine focus flow across scrollable components
- Verify accessible names on scroll-related elements
- Check screen-reader output where relevant
Getting started
- Have an agent that can load and use skills.
- Add the scrolljacking skill to the agent's available skills.
- Ask the agent to review a rendered page, component, or design-system pattern involving scroll behavior.
- The agent checks native semantics first, then keyboard behavior, focus flow, accessible names, and screen-reader output.
What this skill tells your AI
The instructions your AI receives, as published by thedaviddias/front-end-checklist in skills/scrolljacking/SKILL.md and read by ahel’s review.
Scrolljacking breaks user expectations, interferes with assistive technologies, and creates unpredictable experiences that frustrate users with motor impairments or cognitive disabilities.
Quick Reference
- Never override native scroll speed or direction
- Avoid scroll-triggered navigation (one page per scroll)
- Scrolljacking breaks assistive technologies and user expectations
- If custom scrolling is essential, provide a way to disable it
Check
Test scrolling behavior and verify it feels native. Check that scroll speed is not modified, scroll direction is not inverted, and scroll events are not hijacked for animations or navigation without user consent.
Fix
Remove JavaScript that overrides default scroll behavior. If custom scrolling is essential, respect prefers-reduced-motion and provide a way to disable custom scroll effects.
Explain
Explain how scrolljacking disrupts expected navigation patterns, interferes with assistive technologies, and creates unpredictable experiences for users with motor impairments or cognitive disabilities.
Code Review
Review the rendered markup and interactive states that affect Avoid scrolljacking and custom scroll behavior. Flag exact elements, roles, labels, focus behavior, or keyboard interactions that violate the rule, and note how to verify the fix with browser accessibility tooling or assistive tech.
For full implementation details, code examples, and framework-specific guidance,
see references/rule.md.
Rule page: https://frontendchecklist.io/en/rules/accessibility/scrolljacking
Signals
- GitHub stars
- 74k
- Forks
- 7k
- Last commit
- Oct 2026
Questions
- When should the skill be used?
- When reviewing rendered HTML, interactive components, or design-system patterns related to scrolljacking and custom scroll behavior.
- What does the agent check first?
- Native semantics come first, then keyboard behavior, focus flow, accessible names, and screen-reader output where relevant.
- Does it work on design-system patterns?
- Yes, it covers design-system patterns related to scroll behavior as well as rendered HTML and interactive components.
Advanced
- Item type
- skill
- Key
scrolljacking- Source
- github.com/thedaviddias/front-end-checklist
github.com/thedaviddias/front-end-checklist