UTA Social — Hydrated WCAG 2.1 AA Audit (non-X sample)
Generated: 2026-04-30T12:28:01.026Z
API: https://api.theaccessible.org/api/v2/validate · Renderer: headless Chrome (Puppeteer)
Why this run
The first random sample of 5 was 4× X profiles — all failed. To check whether failure is X-specific or a broader platform pattern, we re-sampled excluding any twitter.com / x.com URL (193 candidates remaining).
Headline answer
It is not X-specific. 4 of 5 non-X platforms also failed AA.
| Platform | Result | Notes |
|---|---|---|
| Facebook (×2) | FAIL (16, 17) | Generic alt text, missing labels, nesting issues |
| YouTube | FAIL (151) | Largest violation count — many aria-label/contrast issues |
| FAIL (11) | Auth-walled — final URL is the login page, not the requested group | |
| PASS (0) | Consistent with prior run; Instagram’s hydrated profile shell is clean against this validator |
So in our two combined samples (10 pages across 5 platforms): every X profile failed, every Facebook profile failed, YouTube failed badly, LinkedIn was inaccessible to anonymous visitors. Instagram is the only platform that has consistently passed — twice in a row, which is suggestive but not proof that every Instagram profile passes.
These are platform-level failures, not UTA-controlled.
Summary
- Pages audited: 5
- Passed: 1 · Failed: 4 · Errors: 0
Findings
1. https://www.facebook.com/Special-Collections-UTA-Library-159593908826/
Final URL: https://www.facebook.com/SPCOUTA · HTTP 200 · HTML 1414316 bytes · Criteria checked: 45 · Passed: no
| Rule | Impact | Selector | Message |
|---|---|---|---|
image-alt | critical | img | Image missing alt attribute: …EFF’/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E |
label | critical | input | Form inputs must have labels |
label | critical | input | Form inputs must have labels |
list-structure | moderate | ul | List contains as direct child instead of |
alt-text-too-long | moderate | img | Image alt text exceeds 125 characters (152 chars): alt=“May be an image of text that says ‘“Our Man in Viet Nam…” |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (1 chars): alt=”⌛“ |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=”⌛“ |
aria-role-valid | serious | [role="profile_name"] | Invalid ARIA role: role=“profile_name” |
aria-role-valid | serious | [role="story_message"] | Invalid ARIA role: role=“story_message” |
aria-role-valid | serious | [role="cta-"] | Invalid ARIA role: role=“cta-” |
invalid-nesting | moderate | — | Invalid element nesting: nested inside |
invalid-nesting | moderate | — | Invalid element nesting: inside |
invalid-nesting | moderate | — | Invalid element nesting: inside |
invalid-nesting | moderate | — | Invalid element nesting: |
invalid-nesting | moderate | — | Invalid element nesting:
|
invalid-nesting | moderate | — | Invalid element nesting: inside |
aria-required-attr | serious | [role="progressbar"] | Element with role=“progressbar” is missing required attribute aria-valuenow |
2. https://www.youtube.com/user/businessuta
Final URL: https://www.youtube.com/user/businessuta · HTTP 200 · HTML 1230393 bytes · Criteria checked: 45 · Passed: no
| Rule | Impact | Selector | Message |
|---|---|---|---|
image-alt | critical | img | Image missing alt attribute |
image-alt | critical | img | Image missing alt attribute |
image-alt | critical | img | Image missing alt attribute |
image-alt | critical | img | Image missing alt attribute |
image-alt | critical | img | Image missing alt attribute |
image-alt | critical | img | Image missing alt attribute |
image-alt | critical | img | Image missing alt attribute |
image-alt | critical | img | Image missing alt attribute |
link-name | serious | a | Links must have discernible text |
link-name | serious | a | Links must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
button-name | critical | button | Buttons must have discernible text |
heading-order | moderate | h3 | Heading levels should increase by one |
duplicate-id | serious | #chevron-left | Element id “chevron-left” appears 2 times |
duplicate-id | serious | #chevron-right | Element id “chevron-right” appears 2 times |
duplicate-id | serious | #arrow-drop-down | Element id “arrow-drop-down” appears 2 times |
duplicate-id | serious | #description | Element id “description” appears 2 times |
duplicate-id | serious | #info | Element id “info” appears 4 times |
duplicate-id | serious | #input | Element id “input” appears 2 times |
duplicate-id | serious | #menu | Element id “menu” appears 12 times |
duplicate-id | serious | #refresh | Element id “refresh” appears 2 times |
duplicate-id | serious | #content | Element id “content” appears 3 times |
duplicate-id | serious | #background | Element id “background” appears 2 times |
duplicate-id | serious | #container | Element id “container” appears 16 times |
duplicate-id | serious | #button | Element id “button” appears 24 times |
duplicate-id | serious | #interaction | Element id “interaction” appears 21 times |
duplicate-id | serious | #guide-button | Element id “guide-button” appears 2 times |
duplicate-id | serious | #guide-icon | Element id “guide-icon” appears 2 times |
duplicate-id | serious | #logo | Element id “logo” appears 3 times |
duplicate-id | serious | #logo-icon | Element id “logo-icon” appears 4 times |
duplicate-id | serious | #country-code | Element id “country-code” appears 2 times |
duplicate-id | serious | #tooltip | Element id “tooltip” appears 14 times |
duplicate-id | serious | #buttons | Element id “buttons” appears 7 times |
duplicate-id | serious | #contentContainer | Element id “contentContainer” appears 3 times |
duplicate-id | serious | #header | Element id “header” appears 8 times |
duplicate-id | serious | #items | Element id “items” appears 7 times |
duplicate-id | serious | #endpoint | Element id “endpoint” appears 4 times |
duplicate-id | serious | #icon | Element id “icon” appears 9 times |
duplicate-id | serious | #ally-menu-button | Element id “ally-menu-button” appears 4 times |
duplicate-id | serious | #alerts | Element id “alerts” appears 2 times |
duplicate-id | serious | #text | Element id “text” appears 15 times |
duplicate-id | serious | #title | Element id “title” appears 6 times |
duplicate-id | serious | #primary | Element id “primary” appears 2 times |
duplicate-id | serious | #contents | Element id “contents” appears 6 times |
duplicate-id | serious | #spinner-container | Element id “spinner-container” appears 3 times |
duplicate-id | serious | #spinnerContainer | Element id “spinnerContainer” appears 4 times |
duplicate-id | serious | #player-container | Element id “player-container” appears 3 times |
duplicate-id | serious | #player | Element id “player” appears 2 times |
duplicate-id | serious | #metadata-container | Element id “metadata-container” appears 7 times |
duplicate-id | serious | #metadata | Element id “metadata” appears 9 times |
duplicate-id | serious | #byline-container | Element id “byline-container” appears 7 times |
duplicate-id | serious | #attributed-channel-name | Element id “attributed-channel-name” appears 8 times |
duplicate-id | serious | #channel-name | Element id “channel-name” appears 8 times |
duplicate-id | serious | #text-container | Element id “text-container” appears 8 times |
duplicate-id | serious | #repeat | Element id “repeat” appears 34 times |
duplicate-id | serious | #separator | Element id “separator” appears 2 times |
duplicate-id | serious | #metadata-line | Element id “metadata-line” appears 7 times |
duplicate-id | serious | #additional-metadata-line | Element id “additional-metadata-line” appears 7 times |
duplicate-id | serious | #continuations | Element id “continuations” appears 5 times |
duplicate-id | serious | #dismissible | Element id “dismissible” appears 7 times |
duplicate-id | serious | #title-container | Element id “title-container” appears 2 times |
duplicate-id | serious | #image-container | Element id “image-container” appears 2 times |
duplicate-id | serious | #avatar | Element id “avatar” appears 8 times |
duplicate-id | serious | #img | Element id “img” appears 8 times |
duplicate-id | serious | #title-text | Element id “title-text” appears 2 times |
duplicate-id | serious | #title-annotation | Element id “title-annotation” appears 2 times |
duplicate-id | serious | #subscribe-button | Element id “subscribe-button” appears 3 times |
duplicate-id | serious | #subtitle | Element id “subtitle” appears 2 times |
duplicate-id | serious | #left-arrow | Element id “left-arrow” appears 2 times |
duplicate-id | serious | #scroll-outer-container | Element id “scroll-outer-container” appears 2 times |
duplicate-id | serious | #scroll-container | Element id “scroll-container” appears 2 times |
duplicate-id | serious | #thumbnail | Element id “thumbnail” appears 8 times |
duplicate-id | serious | #overlays | Element id “overlays” appears 9 times |
duplicate-id | serious | #time-status | Element id “time-status” appears 6 times |
duplicate-id | serious | #overlay-text | Element id “overlay-text” appears 6 times |
duplicate-id | serious | #equalizer | Element id “equalizer” appears 6 times |
duplicate-id | serious | #mouseover-overlay | Element id “mouseover-overlay” appears 8 times |
duplicate-id | serious | #hover-overlays | Element id “hover-overlays” appears 8 times |
duplicate-id | serious | #details | Element id “details” appears 6 times |
duplicate-id | serious | #channel-thumbnail | Element id “channel-thumbnail” appears 6 times |
duplicate-id | serious | #text-metadata | Element id “text-metadata” appears 6 times |
duplicate-id | serious | #meta | Element id “meta” appears 7 times |
duplicate-id | serious | #video-title | Element id “video-title” appears 6 times |
duplicate-id | serious | #video-badges | Element id “video-badges” appears 6 times |
duplicate-id | serious | #top-level-buttons-computed | Element id “top-level-buttons-computed” appears 7 times |
duplicate-id | serious | #flexible-item-buttons | Element id “flexible-item-buttons” appears 7 times |
duplicate-id | serious | #button-shape | Element id “button-shape” appears 7 times |
duplicate-id | serious | #dismissed | Element id “dismissed” appears 7 times |
duplicate-id | serious | #dismissed-content | Element id “dismissed-content” appears 6 times |
duplicate-id | serious | #right-arrow | Element id “right-arrow” appears 2 times |
duplicate-id | serious | #secondary | Element id “secondary” appears 2 times |
duplicate-id | serious | #survey | Element id “survey” appears 2 times |
duplicate-id | serious | #top-row | Element id “top-row” appears 2 times |
duplicate-id | serious | #upload-info | Element id “upload-info” appears 2 times |
duplicate-id | serious | #count | Element id “count” appears 2 times |
duplicate-id | serious | #persistent-panel-container | Element id “persistent-panel-container” appears 2 times |
duplicate-id | serious | #related | Element id “related” appears 2 times |
empty-heading | moderate | h1-h6 | Heading element is empty |
empty-heading | moderate | h1-h6 | Heading element is empty |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (4 chars): alt=“true” |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (4 chars): alt=“true” |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (4 chars): alt=“true” |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (4 chars): alt=“true” |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (4 chars): alt=“true” |
alt-text-too-short | moderate | img | Image alt text is too short to be meaningful (4 chars): alt=“true” |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=“true” |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=“true” |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=“true” |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=“true” |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=“true” |
alt-text-not-descriptive | moderate | img | Image alt text has only 1 word and is unlikely to be meaningful: alt=“true” |
alt-text-duplicate | moderate | img | 6 different images share identical alt text: alt=“true” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
aria-role-valid | serious | [role="text"] | Invalid ARIA role: role=“text” |
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: |
invalid-nesting | moderate | — | Invalid element nesting: inside |
invalid-nesting | moderate | — | Invalid element nesting: inside |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button | |
nested-interactive | serious | button |
3. https://www.linkedin.com/groups/8533063/profile
Final URL: https://www.linkedin.com/login/?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fgroups%2F8533063%2Fprofile · HTTP 200 · HTML 46884 bytes · Criteria checked: 45 · Passed: no
| Rule | Impact | Selector | Message |
|---|---|---|---|
duplicate-id | serious | #linkedin-logo-blue-xxsmall | Element id “linkedin-logo-blue-xxsmall” appears 2 times |
duplicate-id | serious | #apple-solid | Element id “apple-solid” appears 2 times |
duplicate-id | serious | #visibility-small | Element id “visibility-small” appears 2 times |
duplicate-id | serious | #check-small | Element id “check-small” appears 2 times |
duplicate-id | serious | #caret-small | Element id “caret-small” appears 2 times |
invalid-nesting | moderate | — | Invalid element nesting: nested inside |
invalid-nesting | moderate | — | Invalid element nesting: interactive nested inside |
invalid-nesting | moderate | — | Invalid element nesting: |
invalid-nesting | moderate | — | Invalid element nesting: inside |
invalid-nesting | moderate | — | Invalid element nesting: |
invalid-nesting | moderate | — | Invalid element nesting: |
4. https://www.facebook.com/utamodlangs/
Final URL: https://www.facebook.com/utamodlangs/ · HTTP 200 · HTML 1285974 bytes · Criteria checked: 45 · Passed: no
| Rule | Impact | Selector | Message |
|---|---|---|---|
image-alt | critical | img | Image missing alt attribute: …EFF’/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E |
image-alt | critical | img | Image missing alt attribute: …84H-.001z’/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E |
label | critical | input | Form inputs must have labels |
label | critical | input | Form inputs must have labels |
duplicate-id | serious | #paint1_radial_15251_63610 | Element id “paint1_radial_15251_63610” appears 2 times |
duplicate-id | serious | #paint0_linear_15251_63610 | Element id “paint0_linear_15251_63610” appears 2 times |
list-structure | moderate | ul | List contains as direct child instead of |
aria-role-valid | serious | [role="profile_name"] | Invalid ARIA role: role=“profile_name” |
aria-role-valid | serious | [role="story_message"] | Invalid ARIA role: role=“story_message” |
invalid-nesting | moderate | — | Invalid element nesting: nested inside |
invalid-nesting | moderate | — | Invalid element nesting: inside |
invalid-nesting | moderate | — | Invalid element nesting: inside |
invalid-nesting | moderate | — | Invalid element nesting: |
invalid-nesting | moderate | — | Invalid element nesting:
|
invalid-nesting | moderate | — | Invalid element nesting: inside |
aria-required-attr | serious | [role="progressbar"] | Element with role=“progressbar” is missing required attribute aria-valuenow |
5. https://www.instagram.com/utaconhi/
Final URL: https://www.instagram.com/utaconhi/ · HTTP 200 · HTML 891487 bytes · Criteria checked: 45 · Passed: yes
No violations.