Content operations skills for AEM Edge Delivery Services: page auditing, SEO optimization, AI search (GEO), WCAG accessibility, bulk metadata, structured data, sitemap validation, and content diffing. Complements the EDS development skills with operational tooling for content teams.
90%
Does it follow best practices?
Run evals on this skill
Adds up to 20 points to the overall score
Low
Low-risk findings worth noting
A concise reference for the WCAG 2.1 AA criteria most relevant to EDS sites. For each criterion: what it means for EDS, where to fix it, and common violations.
Every non-text element (images, icons, charts) must have a text alternative that serves the same purpose.
Information conveyed through presentation (headings, lists, tables, emphasis) must also be conveyed programmatically.
Text and images of text must have a contrast ratio of at least 4.5:1 (normal text) or 3:1 (large text: 18px+ or 14px+ bold).
styles.css (CSS custom properties for colors). Never in the source document.All functionality must be operable through a keyboard interface without requiring specific timings.
accordion.js, tabs.js, carousel.js, nav.js).A mechanism must be available to bypass repeated content (navigation, headers).
head.html (add a skip-to-main-content link).head.html.Pages must have titles that describe their topic or purpose.
title row) or the page's metadata sheet.The purpose of each link can be determined from the link text alone, or from the link text together with its surrounding context.
Headings and labels describe the topic or purpose of the content they introduce.
The default human language of the page must be programmatically determinable.
head.html (add lang attribute to the <html> element) or site configuration.lang attribute entirely. The EDS boilerplate may not set this by default. Incorrect language code for non-English sites.All user interface components must have accessible names and expose their states programmatically.
aria-expanded. Tab blocks without role="tablist" / role="tab" / role="tabpanel". Modal blocks that do not set role="dialog" or aria-modal="true". Buttons created with <div> or <span> instead of <button> in block JS. Custom interactive elements missing ARIA attributes.| Criterion | Typical Fix Location |
|---|---|
| 1.1.1 Non-text Content | Document |
| 1.3.1 Info and Relationships | Document |
| 1.4.3 Contrast Minimum | styles.css |
| 2.1.1 Keyboard | Block JS |
| 2.4.1 Bypass Blocks | Header block JS or head.html |
| 2.4.2 Page Titled | Document metadata |
| 2.4.4 Link Purpose | Document |
| 2.4.6 Headings and Labels | Document |
| 3.1.1 Language of Page | head.html or site config |
| 4.1.2 Name, Role, Value | Block JS |
.tessl-plugin
skills
accessibility-fix
bulk-metadata
content-audit
content-diff
cwv-optimizer
geo-rewrite
heading-optimizer
image-seo
internal-linking
link-rot-scanner
optel-interpreter
performance-budget
product-page-seo
query-index-optimizer
sitemap-audit
structured-data