Skip to content

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.

PlatformResultNotes
Facebook (×2)FAIL (16, 17)Generic alt text, missing labels, nesting issues
YouTubeFAIL (151)Largest violation count — many aria-label/contrast issues
LinkedInFAIL (11)Auth-walled — final URL is the login page, not the requested group
InstagramPASS (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
#URLFinal URLHTTPPassViolations
1https://www.facebook.com/Special-Collections-UTA-Library-159593908826/https://www.facebook.com/SPCOUTA200no17
2https://www.youtube.com/user/businessutahttps://www.youtube.com/user/businessuta200no151
3https://www.linkedin.com/groups/8533063/profilehttps://www.linkedin.com/login/?session_redirect=https%3A%2F%2Fwww.linkedin.com%2Fgroups%2F8533063%2Fprofile200no11
4https://www.facebook.com/utamodlangs/https://www.facebook.com/utamodlangs/200no16
5https://www.instagram.com/utaconhi/https://www.instagram.com/utaconhi/200yes0

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

RuleImpactSelectorMessage
image-altcriticalimgImage missing alt attribute: …EFF’/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E
labelcriticalinputForm inputs must have labels
labelcriticalinputForm inputs must have labels
list-structuremoderateulList contains
as direct child instead of
  • alt-text-too-longmoderateimgImage alt text exceeds 125 characters (152 chars): alt=“May be an image of text that says ‘“Our Man in Viet Nam…”
    alt-text-too-shortmoderateimgImage alt text is too short to be meaningful (1 chars): alt=”⌛“
    alt-text-not-descriptivemoderateimgImage alt text has only 1 word and is unlikely to be meaningful: alt=”⌛“
    aria-role-validserious[role="profile_name"]Invalid ARIA role: role=“profile_name”
    aria-role-validserious[role="story_message"]Invalid ARIA role: role=“story_message”
    aria-role-validserious[role="cta-"]Invalid ARIA role: role=“cta-”
    invalid-nestingmoderateInvalid element nesting: nested inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
      inside
    invalid-nestingmoderateInvalid element nesting:

    inside

    aria-required-attrserious[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

    RuleImpactSelectorMessage
    image-altcriticalimgImage missing alt attribute
    image-altcriticalimgImage missing alt attribute
    image-altcriticalimgImage missing alt attribute
    image-altcriticalimgImage missing alt attribute
    image-altcriticalimgImage missing alt attribute
    image-altcriticalimgImage missing alt attribute
    image-altcriticalimgImage missing alt attribute
    image-altcriticalimgImage missing alt attribute
    link-nameseriousaLinks must have discernible text
    link-nameseriousaLinks must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    button-namecriticalbuttonButtons must have discernible text
    heading-ordermoderateh3Heading levels should increase by one
    duplicate-idserious#chevron-leftElement id “chevron-left” appears 2 times
    duplicate-idserious#chevron-rightElement id “chevron-right” appears 2 times
    duplicate-idserious#arrow-drop-downElement id “arrow-drop-down” appears 2 times
    duplicate-idserious#descriptionElement id “description” appears 2 times
    duplicate-idserious#infoElement id “info” appears 4 times
    duplicate-idserious#inputElement id “input” appears 2 times
    duplicate-idserious#menuElement id “menu” appears 12 times
    duplicate-idserious#refreshElement id “refresh” appears 2 times
    duplicate-idserious#contentElement id “content” appears 3 times
    duplicate-idserious#backgroundElement id “background” appears 2 times
    duplicate-idserious#containerElement id “container” appears 16 times
    duplicate-idserious#buttonElement id “button” appears 24 times
    duplicate-idserious#interactionElement id “interaction” appears 21 times
    duplicate-idserious#guide-buttonElement id “guide-button” appears 2 times
    duplicate-idserious#guide-iconElement id “guide-icon” appears 2 times
    duplicate-idserious#logoElement id “logo” appears 3 times
    duplicate-idserious#logo-iconElement id “logo-icon” appears 4 times
    duplicate-idserious#country-codeElement id “country-code” appears 2 times
    duplicate-idserious#tooltipElement id “tooltip” appears 14 times
    duplicate-idserious#buttonsElement id “buttons” appears 7 times
    duplicate-idserious#contentContainerElement id “contentContainer” appears 3 times
    duplicate-idserious#headerElement id “header” appears 8 times
    duplicate-idserious#itemsElement id “items” appears 7 times
    duplicate-idserious#endpointElement id “endpoint” appears 4 times
    duplicate-idserious#iconElement id “icon” appears 9 times
    duplicate-idserious#ally-menu-buttonElement id “ally-menu-button” appears 4 times
    duplicate-idserious#alertsElement id “alerts” appears 2 times
    duplicate-idserious#textElement id “text” appears 15 times
    duplicate-idserious#titleElement id “title” appears 6 times
    duplicate-idserious#primaryElement id “primary” appears 2 times
    duplicate-idserious#contentsElement id “contents” appears 6 times
    duplicate-idserious#spinner-containerElement id “spinner-container” appears 3 times
    duplicate-idserious#spinnerContainerElement id “spinnerContainer” appears 4 times
    duplicate-idserious#player-containerElement id “player-container” appears 3 times
    duplicate-idserious#playerElement id “player” appears 2 times
    duplicate-idserious#metadata-containerElement id “metadata-container” appears 7 times
    duplicate-idserious#metadataElement id “metadata” appears 9 times
    duplicate-idserious#byline-containerElement id “byline-container” appears 7 times
    duplicate-idserious#attributed-channel-nameElement id “attributed-channel-name” appears 8 times
    duplicate-idserious#channel-nameElement id “channel-name” appears 8 times
    duplicate-idserious#text-containerElement id “text-container” appears 8 times
    duplicate-idserious#repeatElement id “repeat” appears 34 times
    duplicate-idserious#separatorElement id “separator” appears 2 times
    duplicate-idserious#metadata-lineElement id “metadata-line” appears 7 times
    duplicate-idserious#additional-metadata-lineElement id “additional-metadata-line” appears 7 times
    duplicate-idserious#continuationsElement id “continuations” appears 5 times
    duplicate-idserious#dismissibleElement id “dismissible” appears 7 times
    duplicate-idserious#title-containerElement id “title-container” appears 2 times
    duplicate-idserious#image-containerElement id “image-container” appears 2 times
    duplicate-idserious#avatarElement id “avatar” appears 8 times
    duplicate-idserious#imgElement id “img” appears 8 times
    duplicate-idserious#title-textElement id “title-text” appears 2 times
    duplicate-idserious#title-annotationElement id “title-annotation” appears 2 times
    duplicate-idserious#subscribe-buttonElement id “subscribe-button” appears 3 times
    duplicate-idserious#subtitleElement id “subtitle” appears 2 times
    duplicate-idserious#left-arrowElement id “left-arrow” appears 2 times
    duplicate-idserious#scroll-outer-containerElement id “scroll-outer-container” appears 2 times
    duplicate-idserious#scroll-containerElement id “scroll-container” appears 2 times
    duplicate-idserious#thumbnailElement id “thumbnail” appears 8 times
    duplicate-idserious#overlaysElement id “overlays” appears 9 times
    duplicate-idserious#time-statusElement id “time-status” appears 6 times
    duplicate-idserious#overlay-textElement id “overlay-text” appears 6 times
    duplicate-idserious#equalizerElement id “equalizer” appears 6 times
    duplicate-idserious#mouseover-overlayElement id “mouseover-overlay” appears 8 times
    duplicate-idserious#hover-overlaysElement id “hover-overlays” appears 8 times
    duplicate-idserious#detailsElement id “details” appears 6 times
    duplicate-idserious#channel-thumbnailElement id “channel-thumbnail” appears 6 times
    duplicate-idserious#text-metadataElement id “text-metadata” appears 6 times
    duplicate-idserious#metaElement id “meta” appears 7 times
    duplicate-idserious#video-titleElement id “video-title” appears 6 times
    duplicate-idserious#video-badgesElement id “video-badges” appears 6 times
    duplicate-idserious#top-level-buttons-computedElement id “top-level-buttons-computed” appears 7 times
    duplicate-idserious#flexible-item-buttonsElement id “flexible-item-buttons” appears 7 times
    duplicate-idserious#button-shapeElement id “button-shape” appears 7 times
    duplicate-idserious#dismissedElement id “dismissed” appears 7 times
    duplicate-idserious#dismissed-contentElement id “dismissed-content” appears 6 times
    duplicate-idserious#right-arrowElement id “right-arrow” appears 2 times
    duplicate-idserious#secondaryElement id “secondary” appears 2 times
    duplicate-idserious#surveyElement id “survey” appears 2 times
    duplicate-idserious#top-rowElement id “top-row” appears 2 times
    duplicate-idserious#upload-infoElement id “upload-info” appears 2 times
    duplicate-idserious#countElement id “count” appears 2 times
    duplicate-idserious#persistent-panel-containerElement id “persistent-panel-container” appears 2 times
    duplicate-idserious#relatedElement id “related” appears 2 times
    empty-headingmoderateh1-h6Heading element is empty
    empty-headingmoderateh1-h6Heading element is empty
    alt-text-too-shortmoderateimgImage alt text is too short to be meaningful (4 chars): alt=“true”
    alt-text-too-shortmoderateimgImage alt text is too short to be meaningful (4 chars): alt=“true”
    alt-text-too-shortmoderateimgImage alt text is too short to be meaningful (4 chars): alt=“true”
    alt-text-too-shortmoderateimgImage alt text is too short to be meaningful (4 chars): alt=“true”
    alt-text-too-shortmoderateimgImage alt text is too short to be meaningful (4 chars): alt=“true”
    alt-text-too-shortmoderateimgImage alt text is too short to be meaningful (4 chars): alt=“true”
    alt-text-not-descriptivemoderateimgImage alt text has only 1 word and is unlikely to be meaningful: alt=“true”
    alt-text-not-descriptivemoderateimgImage alt text has only 1 word and is unlikely to be meaningful: alt=“true”
    alt-text-not-descriptivemoderateimgImage alt text has only 1 word and is unlikely to be meaningful: alt=“true”
    alt-text-not-descriptivemoderateimgImage alt text has only 1 word and is unlikely to be meaningful: alt=“true”
    alt-text-not-descriptivemoderateimgImage alt text has only 1 word and is unlikely to be meaningful: alt=“true”
    alt-text-not-descriptivemoderateimgImage alt text has only 1 word and is unlikely to be meaningful: alt=“true”
    alt-text-duplicatemoderateimg6 different images share identical alt text: alt=“true”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    aria-role-validserious[role="text"]Invalid ARIA role: role=“text”
    invalid-nestingmoderateInvalid element nesting: interactive
    invalid-nestingmoderateInvalid element nesting: nested inside
    invalid-nestingmoderateInvalid element nesting: interactive nested inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton
    nested-interactiveseriousbutton

    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

    RuleImpactSelectorMessage
    duplicate-idserious#linkedin-logo-blue-xxsmallElement id “linkedin-logo-blue-xxsmall” appears 2 times
    duplicate-idserious#apple-solidElement id “apple-solid” appears 2 times
    duplicate-idserious#visibility-smallElement id “visibility-small” appears 2 times
    duplicate-idserious#check-smallElement id “check-small” appears 2 times
    duplicate-idserious#caret-smallElement id “caret-small” appears 2 times
    invalid-nestingmoderateInvalid element nesting: nested inside
    invalid-nestingmoderateInvalid element nesting: interactive nested inside
    invalid-nestingmoderateInvalid element nesting:

    inside

    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
    inside

    4. https://www.facebook.com/utamodlangs/

    Final URL: https://www.facebook.com/utamodlangs/ · HTTP 200 · HTML 1285974 bytes · Criteria checked: 45 · Passed: no

    RuleImpactSelectorMessage
    image-altcriticalimgImage missing alt attribute: …EFF’/%3E%3C/linearGradient%3E%3C/defs%3E%3C/svg%3E
    image-altcriticalimgImage missing alt attribute: …84H-.001z’/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E
    labelcriticalinputForm inputs must have labels
    labelcriticalinputForm inputs must have labels
    duplicate-idserious#paint1_radial_15251_63610Element id “paint1_radial_15251_63610” appears 2 times
    duplicate-idserious#paint0_linear_15251_63610Element id “paint0_linear_15251_63610” appears 2 times
    list-structuremoderateulList contains
    as direct child instead of
  • aria-role-validserious[role="profile_name"]Invalid ARIA role: role=“profile_name”
    aria-role-validserious[role="story_message"]Invalid ARIA role: role=“story_message”
    invalid-nestingmoderateInvalid element nesting: nested inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
    inside
    invalid-nestingmoderateInvalid element nesting:
      inside
    invalid-nestingmoderateInvalid element nesting:

    inside

    aria-required-attrserious[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.