
Internal Remediation Workplan
Accessibility Audit – chiltoncounty.org | April 10, 2026 | WCAG 2.1 A/AA
How to Use This Document
Each issue type links directly to that rule’s detail page in the WordPress Accessibility Checker admin. Click any issue name to jump straight to the affected items. Time estimates assume one experienced developer plus one content editor. Use this to scope work, assign tasks, and track progress.
MANUAL Requires page-by-page content editing
REVIEW Human judgment needed before fixing
Time estimates assume 1 experienced developer + 1 content editor
| Severity | Count | Est. Hours | Method | Priority |
|---|---|---|---|---|
| Critical | 23 | 3-5 hrs | Code + Manual | Fix First |
| High | 626 | 22-35 hrs | Code + Manual | Fix Next |
| Medium | 1,166 | 10-15 hrs | Review + Code | Plan & Schedule |
| Low | 96 | 2-4 hrs | Code + Manual | Ongoing |
| TOTAL | 1,911 open | ~37-59 hrs | – | – |
Fix these first. Confirmed WCAG Level A violations. Most are targeted code fixes resolvable in a day or two.
| Issue Type | Sev. | WCAG | Count | Fix Approach | Est. Time | Method |
|---|---|---|---|---|---|---|
| Empty Link | Critical | A – 2.4.4 | 8 | Icon-only links with no accessible name. Add aria-label via nav_menu_link_attributes filter or template edit. 8 instances = fast targeted fix. | 30-60 min | CODE |
| Linked Image Empty Alt | Critical | A – 1.1.1 | 8 | Images inside links missing alt text. Update via Media Library or block editor. Theme-generated linked images patched via get_custom_logo() filter. | 30-60 min | CODE MANUAL |
| A Video is Present | Review | A – 1.2.2 | 3 | 3 videos need caption/transcript review. Add captions via YouTube CC editor or VTT files. Add transcripts as text below each video. | 1-2 hrs | MANUAL |
| Ambiguous Anchor Text | Critical | A – 2.4.4 | 2 | Non-descriptive “Read more” / “Click here” links. Use the_content_more_link filter to append screen-reader-only post title text. Only 2 instances. | 15-30 min | CODE |
| A Slider is Present | Review | A – 2.2.2 | 2 | Auto-playing carousels need pause controls and keyboard navigation. Check slider plugin settings for accessible mode or disable autoplay. | 30-60 min | CODE |
The 351-instance “Improper Use of Link” issue is primarily theme-generated – a single template fix can resolve the bulk of it without touching individual pages.
| Issue Type | Sev. | WCAG | Count | Fix Approach | Est. Time | Method |
|---|---|---|---|---|---|---|
| Improper Use of Link | High | A – 4.1.2 | 351 | Links with no href or href=”#” or used as buttons. Likely a theme component issue. Identify the source template and fix globally – one change can resolve dozens of instances at once. | 4-8 hrs | CODE MANUAL |
| Possible Heading | Review | A – 1.3.1 | 112 | Bold/large text not marked as heading elements. Content editor converts styled paragraphs to H2-H4 in block editor. At 2-3 min per fix, 112 instances is a manageable content pass. | 4-6 hrs | MANUAL |
| Insufficient Color Contrast | Problem | AA – 1.4.3 | 86 | Usually 3-5 distinct color pairs causing all 86 failures. Update those CSS variables in the theme stylesheet. One patch can fix all instances if the theme uses a design system. | 2-4 hrs | CODE |
| Tab Order Modified | Review | A – 2.4.3 | 24 | Positive tabindex values overriding natural DOM order. Search template and plugin files for tabindex > 0. Straightforward search-and-replace task. | 1-2 hrs | CODE |
| Incorrect Heading Order | Problem | A – 1.3.1 | 21 | Heading levels skip (H2 to H4, etc.). Theme-level skips are template edits; content-level require a page editor pass. 21 instances likely concentrated in a handful of templates. | 1-2 hrs | CODE MANUAL |
| Image Empty Alt Text | Review | A – 1.1.1 | 20 | Images with alt=”” – review whether decorative or informational. Decorative: leave as-is. Informational: add descriptive alt text via Media Library. 20 images = 1 hour of review. | 1-2 hrs | MANUAL |
| Link to PDF | Review | A – 1.1.1 | 6 | 6 PDFs need accessibility remediation via Adobe Acrobat Pro. Tag structure, reading order, document title. ~20-30 min each if minor issues. | 2-3 hrs | MANUAL |
| iframe Missing Title | Problem | A – 4.1.2 | 3 | 3 iframes without a title attribute. Add title=”” to each in template files or page content. 3 iframes = 15 minutes of work. | 15-30 min | CODE |
| Missing Transcript | Problem | A – 1.2.1 | 3 | 3 media items without text transcripts. Use YouTube auto-captions or Otter.ai to draft, proofread, and add as text below each media item. | 1-2 hrs | MANUAL |
The 947 ARIA Hidden instances look alarming but most are likely legitimate decorative icons. A quick browser script narrows the real actionable list dramatically.
| Issue Type | Sev. | WCAG | Count | Fix Approach | Est. Time | Method |
|---|---|---|---|---|---|---|
| ARIA Hidden | Review | A – 1.3.1 | 947 | Elements marked aria-hidden=”true” needing review. Run a browser script to extract only those containing text content – real actionable list will be far shorter. Fix only those hiding meaningful content. | 3-5 hrs | CODE REVIEW |
| Duplicate Alt Text | Review | A – 1.1.1 | 214 | Images sharing identical alt text. Export all images with alt text, identify truly different images with duplicate text, update each via Media Library. Repeated logo/icons can be dismissed. | 3-5 hrs | MANUAL |
| Low-quality Alt Text | Review | A – 1.1.1 | 4 | 4 images with filename-style or generic alt text. Open each in Media Library and replace with a descriptive one-liner. | 15 min | MANUAL |
| Empty Heading Tag | Problem | A – 1.3.1 | 1 | One empty H-tag. Search page source or use WP_Query + DOM scan to locate and remove. Single instance – 10 minutes. | 10-15 min | CODE |
| Issue Type | Sev. | WCAG | Count | Fix Approach | Est. Time | Method |
|---|---|---|---|---|---|---|
| Underlined Text | Review | A | 70 | Non-link text styled with underline. Add a global CSS rule removing text-decoration:underline from non-anchor elements. One CSS rule resolves all 70 if they share a common pattern. | 30-60 min | CODE |
| Empty Paragraph Tag | Review | Best Practice | 25 | Empty paragraph tags used for spacing. A WordPress output filter on the_content can strip these globally. One function = all 25 fixed. | 30 min | CODE |
| Image Long Alt Text | Review | A | 1 | One image with overly long alt text. Edit in Media Library to be concise (<100 chars). Move detailed description to a visible caption. | 5-10 min | MANUAL |
| Phase | Issues Addressed | Est. Hours | Notes |
|---|---|---|---|
| Phase 1 – Critical | Empty Links, Linked Image Alt, Ambiguous Anchors, Slider, Video | 3-5 hrs | Mostly dev work. Fast wins. All 5 critical types closed. |
| Phase 2 – High (Code) | Improper Links, Color Contrast, Tab Order, iframe Titles, Heading Order (templates) | 10-18 hrs | Theme/CSS/template fixes. High ROI – large counts resolved per hour. |
| Phase 3 – High (Content) | Possible Headings, Image Alt review, PDFs, Transcripts, Heading Order (content) | 10-15 hrs | Content editor work. Can run parallel with Phase 2. |
| Phase 4 – Medium | ARIA Hidden, Duplicate Alt Text, Low-quality Alt, Empty Heading | 7-10 hrs | Use browser script to triage ARIA Hidden first – cuts real workload significantly. |
| Phase 5 – Low | Underlined Text, Empty Paragraphs, Long Alt Text | 1-2 hrs | Mostly one-line code fixes. Establish content guidelines to prevent regression. |
Recommended Functions to Write:
- Filter to auto-inject aria-label on all nav icon links.
- Output filter on the_content to strip empty paragraph tags globally.
- WP-CLI script to export all images missing or duplicate alt text for bulk editing.
- Browser console script to enumerate all aria-hidden elements containing non-empty text, for triage.
- CSS audit helper to output all unique color values for contrast checking.

