[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill:01M6CZHMPAX1NQMQMF90C3DG04":3,"skill-same:01M6CZHMPAX1NQMQMF90C3DG04":59},{"skillNo":4,"name":5,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":14,"categories":15,"keywords":16,"publishedAt":17,"linkOnly":18,"markdownContent":19,"markdownBody":19,"frontMatter":20,"refName":21,"commitSha":22,"skillDirectory":23,"forksCount":24,"repositoryHtmlUrl":25,"repositoryHomepageUrl":6,"ownerHtmlUrl":26,"ownerBlogUrl":6,"ownerDescription":6,"updatedAt":27,"install":28,"resources":41},"01M6CZHMPAX1NQMQMF90C3DG04","accessibility",null,"Testing-itay\u002FDevTools-Security-Lab","Testing-itay","https:\u002F\u002Favatars.githubusercontent.com\u002Fu\u002F230151326?v=4","01M6CZH4Q5Z571N5ZRZWMQ3YBS","01M6CZH4W55EHV4P1D3SNNRXSS",0,"MIT","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Faccessibility\u002FSKILL.md",[],[5],"2026-11-10 10:12:30",false,"\n\n\n\n---\nname: accessibility\ndescription: Audit and improve web accessibility following WCAG 2.2 guidelines. Use when asked to \"improve accessibility\", \"a11y audit\", \"WCAG compliance\", \"screen reader support\", \"keyboard navigation\", or \"make accessible\".\nlicense: MIT\nmetadata:\n  author: web-quality-skills\n  version: \"1.1\"\n---\n\n# Accessibility (a11y)\n\nComprehensive accessibility guidelines based on WCAG 2.2 and Lighthouse accessibility audits. Goal: make content usable by everyone, including people with disabilities.\n\n## WCAG Principles: POUR\n\n| Principle | Description |\n|-----------|-------------|\n| **P**erceivable | Content can be perceived through different senses |\n| **O**perable | Interface can be operated by all users |\n| **U**nderstandable | Content and interface are understandable |\n| **R**obust | Content works with assistive technologies |\n\n## Conformance levels\n\n| Level | Requirement | Target |\n|-------|-------------|--------|\n| **A** | Minimum accessibility | Must pass |\n| **AA** | Standard compliance | Should pass (legal requirement in many jurisdictions) |\n| **AAA** | Enhanced accessibility | Nice to have |\n\n---\n\n## Perceivable\n\n### Text alternatives (1.1)\n\n**Images require alt text:**\n```html\n\u003C!-- ❌ Missing alt -->\n\u003Cimg src=\"chart.png\">\n\n\u003C!-- ✅ Descriptive alt -->\n\u003Cimg src=\"chart.png\" alt=\"Bar chart showing 40% increase in Q3 sales\">\n\n\u003C!-- ✅ Decorative image (empty alt) -->\n\u003Cimg src=\"decorative-border.png\" alt=\"\" role=\"presentation\">\n\n\u003C!-- ✅ Complex image with longer description -->\n\u003Cfigure>\n  \u003Cimg src=\"infographic.png\" alt=\"2024 market trends infographic\" \n       aria-describedby=\"infographic-desc\">\n  \u003Cfigcaption id=\"infographic-desc\">\n    \u003C!-- Detailed description -->\n  \u003C\u002Ffigcaption>\n\u003C\u002Ffigure>\n```\n\n**Icon buttons need accessible names:**\n```html\n\u003C!-- ❌ No accessible name -->\n\u003Cbutton>\u003Csvg>\u003C!-- menu icon -->\u003C\u002Fsvg>\u003C\u002Fbutton>\n\n\u003C!-- ✅ Using aria-label -->\n\u003Cbutton aria-label=\"Open menu\">\n  \u003Csvg aria-hidden=\"true\">\u003C!-- menu icon -->\u003C\u002Fsvg>\n\u003C\u002Fbutton>\n\n\u003C!-- ✅ Using visually hidden text -->\n\u003Cbutton>\n  \u003Csvg aria-hidden=\"true\">\u003C!-- menu icon -->\u003C\u002Fsvg>\n  \u003Cspan class=\"visually-hidden\">Open menu\u003C\u002Fspan>\n\u003C\u002Fbutton>\n```\n\n**Visually hidden class:**\n```css\n.visually-hidden {\n  position: absolute;\n  width: 1px;\n  height: 1px;\n  padding: 0;\n  margin: -1px;\n  overflow: hidden;\n  clip: rect(0, 0, 0, 0);\n  white-space: nowrap;\n  border: 0;\n}\n```\n\n### Color contrast (1.4.3, 1.4.6)\n\n| Text Size | AA minimum | AAA enhanced |\n|-----------|------------|--------------|\n| Normal text (\u003C 18px \u002F \u003C 14px bold) | 4.5:1 | 7:1 |\n| Large text (≥ 18px \u002F ≥ 14px bold) | 3:1 | 4.5:1 |\n| UI components & graphics | 3:1 | 3:1 |\n\n```css\n\u002F* ❌ Low contrast (2.5:1) *\u002F\n.low-contrast {\n  color: #999;\n  background: #fff;\n}\n\n\u002F* ✅ Sufficient contrast (7:1) *\u002F\n.high-contrast {\n  color: #333;\n  background: #fff;\n}\n\n\u002F* ✅ Focus states need contrast too *\u002F\n:focus-visible {\n  outline: 2px solid #005fcc;\n  outline-offset: 2px;\n}\n```\n\n**Don't rely on color alone:**\n```html\n\u003C!-- ❌ Only color indicates error -->\n\u003Cinput class=\"error-border\">\n\u003Cstyle>.error-border { border-color: red; }\u003C\u002Fstyle>\n\n\u003C!-- ✅ Color + icon + text -->\n\u003Cdiv class=\"field-error\">\n  \u003Cinput aria-invalid=\"true\" aria-describedby=\"email-error\">\n  \u003Cspan id=\"email-error\" class=\"error-message\">\n    \u003Csvg aria-hidden=\"true\">\u003C!-- error icon -->\u003C\u002Fsvg>\n    Please enter a valid email address\n  \u003C\u002Fspan>\n\u003C\u002Fdiv>\n```\n\n### Media alternatives (1.2)\n\n```html\n\u003C!-- Video with captions -->\n\u003Cvideo controls>\n  \u003Csource src=\"video.mp4\" type=\"video\u002Fmp4\">\n  \u003Ctrack kind=\"captions\" src=\"captions.vtt\" srclang=\"en\" label=\"English\" default>\n  \u003Ctrack kind=\"descriptions\" src=\"descriptions.vtt\" srclang=\"en\" label=\"Descriptions\">\n\u003C\u002Fvideo>\n\n\u003C!-- Audio with transcript -->\n\u003Caudio controls>\n  \u003Csource src=\"podcast.mp3\" type=\"audio\u002Fmp3\">\n\u003C\u002Faudio>\n\u003Cdetails>\n  \u003Csummary>Transcript\u003C\u002Fsummary>\n  \u003Cp>Full transcript text...\u003C\u002Fp>\n\u003C\u002Fdetails>\n```\n\n---\n\n## Operable\n\n### Keyboard accessible (2.1)\n\n**All functionality must be keyboard accessible:**\n```javascript\n\u002F\u002F ❌ Only handles click\nelement.addEventListener('click', handleAction);\n\n\u002F\u002F ✅ Handles both click and keyboard\nelement.addEventListener('click', handleAction);\nelement.addEventListener('keydown', (e) => {\n  if (e.key === 'Enter' || e.key === ' ') {\n    e.preventDefault();\n    handleAction();\n  }\n});\n```\n\n**No keyboard traps.** Users must be able to Tab into and out of every component. Use the [modal focus trap pattern](references\u002FA11Y-PATTERNS.md#modal-focus-trap) for dialogs—the native `\u003Cdialog>` element handles this automatically.\n\n### Focus visible (2.4.7)\n\n```css\n\u002F* ❌ Never remove focus outlines *\u002F\n*:focus { outline: none; }\n\n\u002F* ✅ Use :focus-visible for keyboard-only focus *\u002F\n:focus {\n  outline: none;\n}\n\n:focus-visible {\n  outline: 2px solid #005fcc;\n  outline-offset: 2px;\n}\n\n\u002F* ✅ Or custom focus styles *\u002F\nbutton:focus-visible {\n  box-shadow: 0 0 0 3px rgba(0, 95, 204, 0.5);\n}\n```\n\n### Focus not obscured (2.4.11) — new in 2.2\n\nWhen an element receives keyboard focus, it must not be entirely hidden by other author-created content such as sticky headers, footers, or overlapping panels. At Level AAA (2.4.12), no part of the focused element may be hidden.\n\n```css\n\u002F* ✅ Account for sticky headers when scrolling to focused elements *\u002F\n:target {\n  scroll-margin-top: 80px;\n}\n\n\u002F* ✅ Ensure focused items clear fixed\u002Fsticky bars *\u002F\n:focus {\n  scroll-margin-top: 80px;\n  scroll-margin-bottom: 60px;\n}\n```\n\n### Skip links (2.4.1)\n\nProvide a skip link so keyboard users can bypass repetitive navigation. See the [skip link pattern](references\u002FA11Y-PATTERNS.md#skip-link) for full markup and styles.\n\n### Target size (2.5.8) — new in 2.2\n\nInteractive targets must be at least **24 × 24 CSS pixels** (AA). Exceptions: inline text links, elements where the browser controls the size, and targets where a 24px circle centered on the bounding box does not overlap another target.\n\n```css\n\u002F* ✅ Minimum target size *\u002F\nbutton,\n[role=\"button\"],\ninput[type=\"checkbox\"] + label,\ninput[type=\"radio\"] + label {\n  min-width: 24px;\n  min-height: 24px;\n}\n\n\u002F* ✅ Comfortable target size (recommended 44×44) *\u002F\n.touch-target {\n  min-width: 44px;\n  min-height: 44px;\n  display: inline-flex;\n  align-items: center;\n  justify-content: center;\n}\n```\n\n### Dragging movements (2.5.7) — new in 2.2\n\nAny action that requires dragging must have a single-pointer alternative (e.g., buttons, inputs). See the [dragging movements pattern](references\u002FA11Y-PATTERNS.md#dragging-movements) for a sortable-list example.\n\n### Timing (2.2)\n\n```javascript\n\u002F\u002F Allow users to extend time limits\nfunction showSessionWarning() {\n  const modal = createModal({\n    title: 'Session Expiring',\n    content: 'Your session will expire in 2 minutes.',\n    actions: [\n      { label: 'Extend session', action: extendSession },\n      { label: 'Log out', action: logout }\n    ],\n    timeout: 120000\n  });\n}\n```\n\n### Motion (2.3)\n\n```css\n\u002F* Respect reduced motion preference *\u002F\n@media (prefers-reduced-motion: reduce) {\n  *,\n  *::before,\n  *::after {\n    animation-duration: 0.01ms !important;\n    animation-iteration-count: 1 !important;\n    transition-duration: 0.01ms !important;\n    scroll-behavior: auto !important;\n  }\n}\n```\n\n---\n\n## Understandable\n\n### Page language (3.1.1)\n\n```html\n\u003C!-- ❌ No language specified -->\n\u003Chtml>\n\n\u003C!-- ✅ Language specified -->\n\u003Chtml lang=\"en\">\n\n\u003C!-- ✅ Language changes within page -->\n\u003Cp>The French word for hello is \u003Cspan lang=\"fr\">bonjour\u003C\u002Fspan>.\u003C\u002Fp>\n```\n\n### Consistent navigation (3.2.3)\n\n```html\n\u003C!-- Navigation should be consistent across pages -->\n\u003Cnav aria-label=\"Main\">\n  \u003Cul>\n    \u003Cli>\u003Ca href=\"\u002F\" aria-current=\"page\">Home\u003C\u002Fa>\u003C\u002Fli>\n    \u003Cli>\u003Ca href=\"\u002Fproducts\">Products\u003C\u002Fa>\u003C\u002Fli>\n    \u003Cli>\u003Ca href=\"\u002Fabout\">About\u003C\u002Fa>\u003C\u002Fli>\n  \u003C\u002Ful>\n\u003C\u002Fnav>\n```\n\n### Consistent help (3.2.6) — new in 2.2\n\nIf a help mechanism (contact info, chat widget, FAQ link, self-help option) is repeated across multiple pages, it must appear in the **same relative order** each time. Users who rely on consistent placement shouldn't have to hunt for help on every page.\n\n### Form labels (3.3.2)\n\nEvery input needs a programmatically associated label. See the [form labels pattern](references\u002FA11Y-PATTERNS.md#form-labels) for explicit, implicit, and instructional examples.\n\n### Error handling (3.3.1, 3.3.3)\n\nAnnounce errors to screen readers with `role=\"alert\"` or `aria-live`, set `aria-invalid=\"true\"` on invalid fields, and focus the first error on submit. See the [error handling pattern](references\u002FA11Y-PATTERNS.md#error-handling) for full markup and JS.\n\n### Redundant entry (3.3.7) — new in 2.2\n\nDon't force users to re-enter information they already provided in the same session. Auto-populate from earlier steps, or let users select from previously entered values. Exceptions: security re-confirmation and content that has expired.\n\n```html\n\u003C!-- ✅ Auto-fill shipping address from billing -->\n\u003Cfieldset>\n  \u003Clegend>Shipping address\u003C\u002Flegend>\n  \u003Clabel>\n    \u003Cinput type=\"checkbox\" id=\"same-as-billing\" checked>\n    Same as billing address\n  \u003C\u002Flabel>\n  \u003C!-- Fields auto-populated when checked -->\n\u003C\u002Ffieldset>\n```\n\n### Accessible authentication (3.3.8) — new in 2.2\n\nLogin flows must not rely on cognitive function tests (e.g., remembering a password, solving a puzzle) unless at least one of:\n- A copy-paste or autofill mechanism is available\n- An alternative method exists (e.g., passkey, SSO, email link)\n- The test uses object recognition or personal content (AA only; AAA removes this exception)\n\n```html\n\u003C!-- ✅ Allow paste in password fields -->\n\u003Cinput type=\"password\" id=\"password\" autocomplete=\"current-password\">\n\n\u003C!-- ✅ Offer passwordless alternatives -->\n\u003Cbutton type=\"button\">Sign in with passkey\u003C\u002Fbutton>\n\u003Cbutton type=\"button\">Email me a login link\u003C\u002Fbutton>\n```\n\n---\n\n## Robust\n\n### ARIA usage (4.1.2)\n\n**Prefer native elements:**\n```html\n\u003C!-- ❌ ARIA role on div -->\n\u003Cdiv role=\"button\" tabindex=\"0\">Click me\u003C\u002Fdiv>\n\n\u003C!-- ✅ Native button -->\n\u003Cbutton>Click me\u003C\u002Fbutton>\n\n\u003C!-- ❌ ARIA checkbox -->\n\u003Cdiv role=\"checkbox\" aria-checked=\"false\">Option\u003C\u002Fdiv>\n\n\u003C!-- ✅ Native checkbox -->\n\u003Clabel>\u003Cinput type=\"checkbox\"> Option\u003C\u002Flabel>\n```\n\n**When ARIA is needed,** use the correct roles and states. See the [ARIA tabs pattern](references\u002FA11Y-PATTERNS.md#aria-tabs) for a complete tablist example.\n\n### Live regions (4.1.3)\n\nUse `aria-live` regions to announce dynamic content changes without moving focus. See the [live regions pattern](references\u002FA11Y-PATTERNS.md#live-regions-and-notifications) for markup and a `showNotification()` helper.\n\n---\n\n## Testing checklist\n\n### Automated testing\n```bash\n# Lighthouse accessibility audit\nnpx lighthouse https:\u002F\u002Fexample.com --only-categories=accessibility\n\n# axe-core\nnpm install @axe-core\u002Fcli -g\naxe https:\u002F\u002Fexample.com\n```\n\n### Manual testing\n\n- [ ] **Keyboard navigation:** Tab through entire page, use Enter\u002FSpace to activate\n- [ ] **Screen reader:** Test with VoiceOver (Mac), NVDA (Windows), or TalkBack (Android)\n- [ ] **Zoom:** Content usable at 200% zoom\n- [ ] **High contrast:** Test with Windows High Contrast Mode\n- [ ] **Reduced motion:** Test with `prefers-reduced-motion: reduce`\n- [ ] **Focus order:** Logical and follows visual order\n- [ ] **Target size:** Interactive elements meet 24×24px minimum\n\nSee the [screen reader commands reference](references\u002FA11Y-PATTERNS.md#screen-reader-commands) for VoiceOver and NVDA shortcuts.\n\n---\n\n## Common issues by impact\n\n### Critical (fix immediately)\n1. Missing form labels\n2. Missing image alt text\n3. Insufficient color contrast\n4. Keyboard traps\n5. No focus indicators\n\n### Serious (fix before launch)\n1. Missing page language\n2. Missing heading structure\n3. Non-descriptive link text\n4. Auto-playing media\n5. Missing skip links\n\n### Moderate (fix soon)\n1. Missing ARIA labels on icons\n2. Inconsistent navigation\n3. Missing error identification\n4. Timing without controls\n5. Missing landmark regions\n\n## References\n\n- [WCAG 2.2 Quick Reference](https:\u002F\u002Fwww.w3.org\u002FWAI\u002FWCAG22\u002Fquickref\u002F)\n- [WAI-ARIA Authoring Practices](https:\u002F\u002Fwww.w3.org\u002FWAI\u002FARIA\u002Fapg\u002F)\n- [Deque axe Rules](https:\u002F\u002Fdequeuniversity.com\u002Frules\u002Faxe\u002F)\n- [Web Quality Audit](..\u002Fweb-quality-audit\u002FSKILL.md)\n- [WCAG criteria reference](references\u002FWCAG.md)\n- [Accessibility code patterns](references\u002FA11Y-PATTERNS.md)",{},"main","1188d0dcbd4e64256d35bfe14c955ba1c541b1de",".claude\u002Fskills\u002Faccessibility",13,"https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab","https:\u002F\u002Fgithub.com\u002FTesting-itay","2026-10-16 16:13:27",{"source":7,"skillName":5,"commands":29,"prompt":39,"zipAvailable":40},[30,33,36],{"tool":31,"command":32},"npx","npx skills add Testing-itay\u002FDevTools-Security-Lab --skill accessibility",{"tool":34,"command":35},"bunx","bunx skills add Testing-itay\u002FDevTools-Security-Lab --skill accessibility",{"tool":37,"command":38},"pnpm","pnpm dlx skills add Testing-itay\u002FDevTools-Security-Lab --skill accessibility","安装技能，技能地址：https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Faccessibility\u002FSKILL.md",true,[42,48,52,55],{"path":43,"resourceType":44,"resourceTypeDesc":45,"sizeBytes":46,"sourceHtmlUrl":47},"references\u002FA11Y-PATTERNS.md","REFERENCE","参考文档",6039,"https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Faccessibility\u002Freferences\u002FA11Y-PATTERNS.md",{"path":49,"resourceType":44,"resourceTypeDesc":45,"sizeBytes":50,"sourceHtmlUrl":51},"references\u002Ffirst pac\u002Ffirst.md",5,"https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Faccessibility\u002Freferences\u002Ffirst pac\u002Ffirst.md",{"path":53,"resourceType":44,"resourceTypeDesc":45,"sizeBytes":50,"sourceHtmlUrl":54},"references\u002Fsecond pac\u002Fsecond.md","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Faccessibility\u002Freferences\u002Fsecond pac\u002Fsecond.md",{"path":56,"resourceType":44,"resourceTypeDesc":45,"sizeBytes":57,"sourceHtmlUrl":58},"references\u002FWCAG.md",9082,"https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002F.claude\u002Fskills\u002Faccessibility\u002Freferences\u002FWCAG.md",[60,69,78,87,96,101],{"skillNo":61,"name":62,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":63,"categories":64,"keywords":65,"publishedAt":17},"01M6CZR9VVRMS754ZKH7NPNMB1","sds-plugin-a11y-check","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fsds-frontend-plugin\u002Fskills\u002Fsds-plugin-a11y-check\u002FSKILL.md",[],[66,67,68],"sds plugin a11y check","check","plugin",{"skillNo":70,"name":71,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":72,"categories":73,"keywords":74,"publishedAt":17},"01M6CZR8FQ30QGEV5D3SB6DDKP","endpoint-review","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fpython-api-plugin\u002Fskills\u002Fendpoint-review\u002FSKILL.md",[],[75,76,77],"endpoint review","endpoint","review",{"skillNo":79,"name":80,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":81,"categories":82,"keywords":83,"publishedAt":17},"01M6CZR6TYBN5EMBM70E096E66","schema-draft","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fpython-api-plugin\u002Fagents\u002Fpy-plugin-endpoint-designer\u002Fskills\u002Fschema-draft\u002FSKILL.md",[],[84,85,86],"schema","schema draft","draft",{"skillNo":88,"name":89,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":90,"categories":91,"keywords":92,"publishedAt":17},"01M6CZR5SDWF91FHDK54XHXS67","doc-outline","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fai-documentation-workflow\u002Fskills\u002Fdoc-outline\u002FSKILL.md",[],[93,94,95],"doc outline","outline","doc",{"skillNo":97,"name":62,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":98,"categories":99,"keywords":100,"publishedAt":17},"01M6CZR3Z4WZCBA5FVJZB65B1Y","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewD\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fsds-frontend-plugin\u002Fskills\u002Fsds-plugin-a11y-check\u002FSKILL.md",[],[66,67,68],{"skillNo":102,"name":71,"nameZh":6,"description":6,"descriptionZh":6,"repositoryFullName":7,"ownerLogin":8,"ownerAvatarUrl":9,"ownerAccountNo":10,"ownerDisplayName":6,"repositoryNo":11,"starsCount":12,"licenseSpdxId":13,"licenseFileUrl":6,"sourceHtmlUrl":103,"categories":104,"keywords":105,"publishedAt":17},"01M6CZR2PR7T4XYSJJWQYYPXVW","https:\u002F\u002Fgithub.com\u002FTesting-itay\u002FDevTools-Security-Lab\u002Fblob\u002Fmain\u002Fsrc\u002FnewD\u002FnewDIR\u002Fbundles\u002Fplugins\u002Fpython-api-plugin\u002Fskills\u002Fendpoint-review\u002FSKILL.md",[],[77,75,76]]