UTA Social Media Pages β Hydrated WCAG 2.1 AA Audit
Generated: 2026-04-30T12:22:25.300Z
API: https://api.theaccessible.org/api/v2/validate Β· Renderer: headless Chrome (Puppeteer)
Method
5 social profile URLs were sampled at random from https://www.uta.edu/social
(251 candidate links). Each was rendered with headless Chrome (networkidle2,
desktop UA) so JS-driven SPAs hydrate before scoring, then the resulting HTML
was POSTed to /api/v2/validate. Run with tools/url-audit:
cd tools/url-auditexport AUDIT_TOKEN="$(grep '^SUPABASE_SERVICE_ROLE_KEY=' ../../workers/api/.env.staging | cut -d= -f2)"npm run audit -- --urls picked.txt --out report.mdNote: most violations below are platform-level (X, Instagram) β UTA cannot remediate them. Useful as a baseline showing which third-party platforms ship inaccessible markup that UTA-managed accounts inherit.
Summary
- Pages audited: 5
- Passed: 1 Β· Failed: 4 Β· Errors: 0
Findings
1. https://www.instagram.com/utaenglish/
Final URL: https://www.instagram.com/utaenglish/ Β· HTTP 200 Β· HTML 891763 bytes Β· Criteria checked: 45 Β· Passed: yes
No violations.
2. https://twitter.com/UTAMavsWGolf
Final URL: https://x.com/UTAMavsWGolf Β· HTTP 200 Β· HTML 318597 bytes Β· Criteria checked: 45 Β· Passed: no
| Rule | Impact | Selector | Message |
|---|---|---|---|
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (2 chars): alt=βπβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βπβ |
invalid-nesting | moderate | β | Invalid element nesting: interactive |
invalid-nesting | moderate | β | Invalid element nesting: nested inside |
invalid-nesting | moderate | β | Invalid element nesting: interactive nested inside |
invalid-nesting | moderate | β | Invalid element nesting: inside |
invalid-nesting | moderate | β | Invalid element nesting: |
aria-required-attr | serious | [role="heading"] | Element with role=βheadingβ is missing required attribute aria-level |
3. https://twitter.com/UTA_TheatreArts
Final URL: https://x.com/UTA_TheatreArts Β· HTTP 200 Β· HTML 320695 bytes Β· Criteria checked: 45 Β· Passed: no
| Rule | Impact | Selector | Message |
|---|---|---|---|
invalid-nesting | moderate | β | Invalid element nesting: interactive |
invalid-nesting | moderate | β | Invalid element nesting: nested inside |
invalid-nesting | moderate | β | Invalid element nesting: interactive nested inside |
invalid-nesting | moderate | β | Invalid element nesting: inside |
invalid-nesting | moderate | β | Invalid element nesting: |
aria-required-attr | serious | [role="heading"] | Element with role=βheadingβ is missing required attribute aria-level |
4. https://twitter.com/UTAMavsTFXC
Final URL: https://x.com/UTAMavsTFXC Β· HTTP 200 Β· HTML 393158 bytes Β· Criteria checked: 45 Β· Passed: no
| Rule | Impact | Selector | Message |
|---|---|---|---|
image-alt-meaningful | serious | img | Image alt text is not meaningful: alt=βImageβ |
image-alt-meaningful | serious | img | Image alt text is not meaningful: alt=βImageβ |
image-alt-meaningful | serious | img | Image alt text is not meaningful: alt=βImageβ |
image-alt-meaningful | serious | img | Image alt text is not meaningful: alt=βImageβ |
image-alt-meaningful | serious | img | Image alt text is not meaningful: alt=βImageβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (2 chars): alt=βπβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (2 chars): alt=βπβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (2 chars): alt=βπ§‘β |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (2 chars): alt=βπβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (5 chars): alt=βImageβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (5 chars): alt=βImageβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (5 chars): alt=βImageβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (5 chars): alt=βImageβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (3 chars): alt=βποΈβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (2 chars): alt=ββΌοΈβ |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (2 chars): alt=βπ¨β |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (5 chars): alt=βImageβ |
alt-text-generic | serious | img | Image alt text is a generic placeholder: alt=βImageβ |
alt-text-generic | serious | img | Image alt text is a generic placeholder: alt=βImageβ |
alt-text-generic | serious | img | Image alt text is a generic placeholder: alt=βImageβ |
alt-text-generic | serious | img | Image alt text is a generic placeholder: alt=βImageβ |
alt-text-generic | serious | img | Image alt text is a generic placeholder: alt=βImageβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βπβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βπβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βπ§‘β |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βπβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βImageβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βImageβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βImageβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βImageβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βποΈβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=ββΌοΈβ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βπ¨β |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=βImageβ |
alt-text-duplicate | moderate | img | 5 different images share identical alt text: alt=βImageβ |
invalid-nesting | moderate | β | Invalid element nesting: interactive |
invalid-nesting | moderate | β | Invalid element nesting: nested inside |
invalid-nesting | moderate | β | Invalid element nesting: interactive nested inside |
invalid-nesting | moderate | β | Invalid element nesting: inside |
invalid-nesting | moderate | β | Invalid element nesting: |
aria-required-attr | serious | [role="heading"] | Element with role=βheadingβ is missing required attribute aria-level |
5. https://twitter.com/utafortworth_
Final URL: https://x.com/utafortworth_ Β· HTTP 200 Β· HTML 320476 bytes Β· Criteria checked: 45 Β· Passed: no
| Rule | Impact | Selector | Message |
|---|---|---|---|
invalid-nesting | moderate | β | Invalid element nesting: interactive |
invalid-nesting | moderate | β | Invalid element nesting: nested inside |
invalid-nesting | moderate | β | Invalid element nesting: interactive nested inside |
invalid-nesting | moderate | β | Invalid element nesting: inside |
invalid-nesting | moderate | β | Invalid element nesting: |
aria-required-attr | serious | [role="heading"] | Element with role=βheadingβ is missing required attribute aria-level |