[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CD54TAJYJS67VCQZY2NK51":3,"skill-same:01M6CD54TAJYJS67VCQZY2NK51":106},{"skillNo":4,"name":5,"nameZh":6,"description":7,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":16,"categories":17,"keywords":23,"publishedAt":31,"linkOnly":32,"markdownContent":33,"markdownBody":34,"frontMatter":35,"refName":36,"commitSha":37,"skillDirectory":38,"forksCount":39,"repositoryHtmlUrl":40,"repositoryHomepageUrl":6,"ownerHtmlUrl":41,"ownerBlogUrl":42,"ownerDescription":6,"updatedAt":43,"install":44,"resources":57},"01M6CD54TAJYJS67VCQZY2NK51","wcag-audit-operable-motion-test",null,"Test animations for motion sensitivity compliance and reduced motion preferences","Jkense\u002Fagent-skills-wcag","Jkense","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F44931777?v=4","01M6CD4YE9ZDK9FQ5RTQH178KA","Jasper Kense","01M6CD4YJ48WGRZXVJ2TGSQ90K",1,"MIT","https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-operable-motion-test\u002FSKILL.md",[18],{"categoryNo":19,"categoryName":20,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000008","测试与质量","SCENARIO","使用场景",[24,25,26,27,28,29,30],"test","audit","WCAG","motion","wcag audit operable motion test","compliance","preferences","2026-11-10 10:12:30",false,"---\nname: wcag-audit-operable-motion-test\ndescription: Test animations for motion sensitivity compliance and reduced motion preferences\n---\n\n## When to Use\nUse this tool when implementing animations, transitions, or moving content to ensure compliance with motion sensitivity guidelines and respect for user reduced motion preferences.\n\n## Usage\n\n### Command Line\n```bash\nnode scripts\u002Ftest.js --duration 3.5 --type parallax\nnode scripts\u002Ftest.js --duration 2.0 --flashes 5 --reduced-motion true\nnode scripts\u002Ftest.js --json '{\"duration\": 4.2, \"type\": \"scroll\", \"flashes\": 0}'\n```\n\n### JSON Input\n```bash\nnode scripts\u002Ftest.js --json '{\n  \"duration\": 3.5,\n  \"type\": \"carousel\",\n  \"flashes\": 0,\n  \"userPrefersReducedMotion\": true\n}'\n```\n\n### Parameters\n- `--duration`: Animation duration in seconds\n- `--type`: Animation type (scroll, parallax, carousel, transition, etc.)\n- `--flashes`: Number of flashes per second (default: 0)\n- `--reduced-motion`: Whether to simulate reduced motion preference (true\u002Ffalse)\n- `--json`: JSON input with animation properties\n\n### Output\nReturns JSON with compliance assessment and recommendations:\n\n```json\n{\n  \"animation\": {\n    \"duration\": 3.5,\n    \"type\": \"parallax\",\n    \"flashes\": 0\n  },\n  \"compliance\": {\n    \"reducedMotion\": true,\n    \"flashing\": true,\n    \"duration\": false\n  },\n  \"issues\": [\"Animation duration exceeds 5 seconds\"],\n  \"recommendations\": [\n    \"Provide option to pause or disable parallax scrolling\",\n    \"Consider using reduced motion alternative\"\n  ]\n}\n```\n\n## Examples\n\n### Test short animation\n```bash\n$ node scripts\u002Ftest.js --duration 2.0 --type transition\n✅ Reduced motion: RESPECTED\n✅ Flashing: PASS (no flashes detected)\n✅ Duration: PASS (2.0s within limit)\nAnimation meets accessibility requirements\n```\n\n### Test long animation\n```bash\n$ node scripts\u002Ftest.js --duration 8.5 --type carousel\n⚠️  Reduced motion: NEEDS ATTENTION\n✅ Flashing: PASS (no flashes detected)\n❌ Duration: FAIL (8.5s exceeds 5s limit)\nRecommendations:\n- Provide pause\u002Fstop controls for auto-advancing carousel\n- Consider shorter transition duration or user control\n- Offer static alternative when reduced motion is preferred\n```\n\n### Test flashing content\n```bash\n$ node scripts\u002Ftest.js --duration 1.0 --flashes 4\n✅ Reduced motion: RESPECTED\n❌ Flashing: FAIL (4 flashes\u002Fs exceeds 3 flashes\u002Fs limit)\n❌ Duration: PASS (1.0s within limit)\nRecommendations:\n- Reduce flashing frequency to maximum 3 flashes per second\n- Consider non-flashing alternatives\n- Test with users sensitive to flashing content\n```\n\n## WCAG Standards\n\n- **Reduced Motion**: Respect `prefers-reduced-motion` user preference\n- **Flashing Limit**: Maximum 3 flashes per second\n- **Auto-play Duration**: Moving content should be pausable within 5 seconds\n- **User Control**: Provide options to pause, stop, or hide moving content\n- **Alternatives**: Offer static alternatives for animated content\n\n## Animation Types\n\n### Safe Types\n- **Fade transitions**: Gradual opacity changes\n- **Slide transitions**: Smooth position changes\n- **Scale transforms**: Size changes without movement\n\n### Risk Types\n- **Parallax scrolling**: Multiple layers moving at different speeds\n- **Auto-advancing carousels**: Content that changes automatically\n- **Flashing elements**: Rapid visibility changes\n- **Spinning animations**: Rotational movement\n\n## Best Practices\n\n1. **Check user preferences**: Always respect `prefers-reduced-motion`\n2. **Provide controls**: Allow users to pause\u002Fstop animations\n3. **Limit duration**: Keep auto-playing content under 5 seconds\n4. **Avoid flashing**: Never exceed 3 flashes per second\n5. **Test alternatives**: Ensure functionality without animation\n\n## Learn More\n\nFor more information about [Agent Skills](https:\u002F\u002Fagentskills.io\u002Fwhat-are-skills) and how they extend AI capabilities.","## When to Use\nUse this tool when implementing animations, transitions, or moving content to ensure compliance with motion sensitivity guidelines and respect for user reduced motion preferences.\n\n## Usage\n\n### Command Line\n```bash\nnode scripts\u002Ftest.js --duration 3.5 --type parallax\nnode scripts\u002Ftest.js --duration 2.0 --flashes 5 --reduced-motion true\nnode scripts\u002Ftest.js --json '{\"duration\": 4.2, \"type\": \"scroll\", \"flashes\": 0}'\n```\n\n### JSON Input\n```bash\nnode scripts\u002Ftest.js --json '{\n  \"duration\": 3.5,\n  \"type\": \"carousel\",\n  \"flashes\": 0,\n  \"userPrefersReducedMotion\": true\n}'\n```\n\n### Parameters\n- `--duration`: Animation duration in seconds\n- `--type`: Animation type (scroll, parallax, carousel, transition, etc.)\n- `--flashes`: Number of flashes per second (default: 0)\n- `--reduced-motion`: Whether to simulate reduced motion preference (true\u002Ffalse)\n- `--json`: JSON input with animation properties\n\n### Output\nReturns JSON with compliance assessment and recommendations:\n\n```json\n{\n  \"animation\": {\n    \"duration\": 3.5,\n    \"type\": \"parallax\",\n    \"flashes\": 0\n  },\n  \"compliance\": {\n    \"reducedMotion\": true,\n    \"flashing\": true,\n    \"duration\": false\n  },\n  \"issues\": [\"Animation duration exceeds 5 seconds\"],\n  \"recommendations\": [\n    \"Provide option to pause or disable parallax scrolling\",\n    \"Consider using reduced motion alternative\"\n  ]\n}\n```\n\n## Examples\n\n### Test short animation\n```bash\n$ node scripts\u002Ftest.js --duration 2.0 --type transition\n✅ Reduced motion: RESPECTED\n✅ Flashing: PASS (no flashes detected)\n✅ Duration: PASS (2.0s within limit)\nAnimation meets accessibility requirements\n```\n\n### Test long animation\n```bash\n$ node scripts\u002Ftest.js --duration 8.5 --type carousel\n⚠️  Reduced motion: NEEDS ATTENTION\n✅ Flashing: PASS (no flashes detected)\n❌ Duration: FAIL (8.5s exceeds 5s limit)\nRecommendations:\n- Provide pause\u002Fstop controls for auto-advancing carousel\n- Consider shorter transition duration or user control\n- Offer static alternative when reduced motion is preferred\n```\n\n### Test flashing content\n```bash\n$ node scripts\u002Ftest.js --duration 1.0 --flashes 4\n✅ Reduced motion: RESPECTED\n❌ Flashing: FAIL (4 flashes\u002Fs exceeds 3 flashes\u002Fs limit)\n❌ Duration: PASS (1.0s within limit)\nRecommendations:\n- Reduce flashing frequency to maximum 3 flashes per second\n- Consider non-flashing alternatives\n- Test with users sensitive to flashing content\n```\n\n## WCAG Standards\n\n- **Reduced Motion**: Respect `prefers-reduced-motion` user preference\n- **Flashing Limit**: Maximum 3 flashes per second\n- **Auto-play Duration**: Moving content should be pausable within 5 seconds\n- **User Control**: Provide options to pause, stop, or hide moving content\n- **Alternatives**: Offer static alternatives for animated content\n\n## Animation Types\n\n### Safe Types\n- **Fade transitions**: Gradual opacity changes\n- **Slide transitions**: Smooth position changes\n- **Scale transforms**: Size changes without movement\n\n### Risk Types\n- **Parallax scrolling**: Multiple layers moving at different speeds\n- **Auto-advancing carousels**: Content that changes automatically\n- **Flashing elements**: Rapid visibility changes\n- **Spinning animations**: Rotational movement\n\n## Best Practices\n\n1. **Check user preferences**: Always respect `prefers-reduced-motion`\n2. **Provide controls**: Allow users to pause\u002Fstop animations\n3. **Limit duration**: Keep auto-playing content under 5 seconds\n4. **Avoid flashing**: Never exceed 3 flashes per second\n5. **Test alternatives**: Ensure functionality without animation\n\n## Learn More\n\nFor more information about [Agent Skills](https:\u002F\u002Fagentskills.io\u002Fwhat-are-skills) and how they extend AI capabilities.",{"name":5,"description":7},"main","7fc6eec6adfe1b5509b9e022a163c0a70d6618b5","skills\u002Fwcag-audit-operable-motion-test",0,"https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag","https:\u002F\u002Fgithub.com\u002FJkense","https:\u002F\u002Fwww.jasperkense.com\u002F","2026-01-19 23:32:34",{"source":8,"skillName":5,"commands":45,"prompt":55,"zipAvailable":56},[46,49,52],{"tool":47,"command":48},"npx","npx skills add Jkense\u002Fagent-skills-wcag --skill wcag-audit-operable-motion-test",{"tool":50,"command":51},"bunx","bunx skills add Jkense\u002Fagent-skills-wcag --skill wcag-audit-operable-motion-test",{"tool":53,"command":54},"pnpm","pnpm dlx skills add Jkense\u002Fagent-skills-wcag --skill wcag-audit-operable-motion-test","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-operable-motion-test\u002FSKILL.md",true,[58,64,68,72,76,80,84,88,92,98,102],{"path":59,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":62,"sourceHtmlUrl":63},"config.example.json","REFERENCE","参考文档",285,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Fconfig.example.json",{"path":65,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":66,"sourceHtmlUrl":67},"references\u002Fgotchas.md",1579,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Freferences\u002Fgotchas.md",{"path":69,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":70,"sourceHtmlUrl":71},"references\u002Fscaffolding-principles.md",2736,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Freferences\u002Fscaffolding-principles.md",{"path":73,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":74,"sourceHtmlUrl":75},"references\u002Fshared-phases.md",1621,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Freferences\u002Fshared-phases.md",{"path":77,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":78,"sourceHtmlUrl":79},"references\u002Fworkflow-auto.md",2792,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Freferences\u002Fworkflow-auto.md",{"path":81,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":82,"sourceHtmlUrl":83},"references\u002Fworkflow-fast.md",2116,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Freferences\u002Fworkflow-fast.md",{"path":85,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":86,"sourceHtmlUrl":87},"references\u002Fworkflow-full.md",3426,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Freferences\u002Fworkflow-full.md",{"path":89,"resourceType":60,"resourceTypeDesc":61,"sizeBytes":90,"sourceHtmlUrl":91},"references\u002Fworkflow-parallel.md",2529,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Freferences\u002Fworkflow-parallel.md",{"path":93,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":96,"sourceHtmlUrl":97},"scripts\u002Fdetect-stack.sh","SCRIPT","脚本",7932,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Fscripts\u002Fdetect-stack.sh",{"path":99,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":100,"sourceHtmlUrl":101},"scripts\u002Ftest.js",7374,"https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-operable-motion-test\u002Fscripts\u002Ftest.js",{"path":103,"resourceType":94,"resourceTypeDesc":95,"sizeBytes":104,"sourceHtmlUrl":105},"scripts\u002Fvalidate-bootstrap.sh",1136,"https:\u002F\u002Fgithub.com\u002Fngocsangyem\u002FMeowKit\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Fbootstrap\u002Fscripts\u002Fvalidate-bootstrap.sh",[107,118,129,140,150,158],{"skillNo":108,"name":109,"nameZh":6,"description":110,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":111,"categories":112,"keywords":113,"publishedAt":31},"01M6CD5Y5BQZP9HA5JM9D0AP0J","wcag-audit-understandable-forms","Route form input and data collection accessibility requirements","https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-understandable-forms\u002FSKILL.md",[],[114,26,25,115,116,117],"wcag audit understandable forms","data","collection","accessibility",{"skillNo":119,"name":120,"nameZh":6,"description":121,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":122,"categories":123,"keywords":124,"publishedAt":31},"01M6CD5WEYJVXV3J612QNT4V2E","wcag-audit-understandable-forms-deep","Form design accessibility rules for user input and data collection","https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-understandable-forms-deep\u002FSKILL.md",[],[125,26,25,126,127,116,115,117,128],"wcag audit understandable forms deep","user","Rules","design",{"skillNo":130,"name":131,"nameZh":6,"description":132,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":133,"categories":134,"keywords":135,"publishedAt":31},"01M6CD5TJRRHTRVNK3VFRHVMTX","wcag-audit-perceivable-text","Route typography accessibility design decisions and requirements","https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-perceivable-text\u002FSKILL.md",[],[136,137,26,25,138,139,117,128],"wcag audit perceivable text","text","typography","decisions",{"skillNo":141,"name":142,"nameZh":6,"description":143,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":144,"categories":145,"keywords":146,"publishedAt":31},"01M6CD5RJBBE74VF2XDA88PYBA","wcag-audit-perceivable-text-size","Convert between px, pt, em, rem units with accessibility context","https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-perceivable-text-size\u002FSKILL.md",[],[147,137,26,25,117,148,149],"wcag audit perceivable text size","context","convert",{"skillNo":151,"name":152,"nameZh":6,"description":153,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":154,"categories":155,"keywords":156,"publishedAt":31},"01M6CD5PHW0BWTXETYCCEB8F6W","wcag-audit-perceivable-text-deep","Comprehensive typography accessibility rules for text design and readability","https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-perceivable-text-deep\u002FSKILL.md",[],[26,25,137,157,128,117,127,138],"wcag audit perceivable text deep",{"skillNo":159,"name":160,"nameZh":6,"description":161,"descriptionZh":6,"repositoryFullName":8,"ownerLogin":9,"ownerAvatarUrl":10,"ownerAccountNo":11,"ownerDisplayName":12,"repositoryNo":13,"starsCount":14,"licenseSpdxId":15,"licenseFileUrl":6,"sourceHtmlUrl":162,"categories":163,"keywords":167,"publishedAt":31},"01M6CD5N1KA8EBEP98VATEFFKY","wcag-audit-perceivable-media","Route audio, video, and multimedia accessibility requirements","https:\u002F\u002Fgithub.com\u002FJkense\u002Fagent-skills-wcag\u002Fblob\u002Fmain\u002Fskills\u002Fwcag-audit-perceivable-media\u002FSKILL.md",[164],{"categoryNo":165,"categoryName":166,"taxonomyType":21,"taxonomyTypeDesc":22},"01JBSEEDCAT000000000000016","图像与多媒体",[25,168,26,169,117,170,171],"wcag audit perceivable media","Media","Video","Audio"]