Vanguard — Score 904 | Sonde

Sonde

Accessibility Health Check

https://vanguard.com

Excellent

April 28, 2026

Provided free by Sonde

9pages186findings47critical57high77medium5low20.7avg/page11,259elements115with findings99%ECR3m 7stotal20.8sper page

Excellent

Executive Summary

9pages186findings20.7avg/page11,259elements115with findings99%ECR3m 7stotal20.8sper page

Top Findings

Copy a direct link to share a finding Open a discussion to give feedback on a finding

criticalInsufficient color contrast: 1.27:1 (required: 4.5:1 for normal text). Foreground: rgb(85, 85, 85), background: rgb(56, 96, 190). Text: "Filter Button"WCAG 1.4.3
Element:
<title>Filter Button</title>
Sonde Fix Plan

Current ratio: 1.27:1 (need 4.5:1). Change foreground from #555555 to #e2e2e1 (ratio: 4.5:1). Or change background from #3860be to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "FINRA's BrokerCheck"WCAG 1.4.3
Element:
<span class="cmp-richtext--primary-span">FINRA's BrokerCheck</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "here"WCAG 1.4.3
Element:
<span class="cmp-videoplayer--warning-button-text"> here</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Read now"WCAG 1.4.3
Element:
<span class="cmp-alert__action-text">Read now</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "You have certain cookies disabled on the Vanguard site. "WCAG 1.4.3
Element:
<div class="cmp-videoplayer--warning-textoverlay">
            You have certain cookies disabled on the Vanguard site.<br>
            In order to watch this video, you must agree to the use of cookie
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Access tax FAQs"WCAG 1.4.3
Element:
<span id="action-teaser-0f2b2b68e8-cta-bf1d853027" class="c11n-link__content">Access tax FAQs</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Earn more on your savings: Cash Plus will earn an additional"WCAG 1.4.3
Element:
<p>Earn more on your savings: Cash Plus will earn an additional 0.25% boost on the base APY, now extended through 9/30/26. Base APY will vary.</p>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Set up online account access"WCAG 1.4.3
Element:
<a data-cta-tracking="true" href="https://web-registration.vanguard.com/" data-di-id="di-id-af10efec-14bb29c3">Set up online account access</a>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000. Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Read articles"WCAG 1.4.3
Element:
<span id="action-teaser-bcedde14d8-cta-498b705dcd" class="c11n-link__content">Read articles</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Go to market summary"WCAG 1.4.3
Element:
<span id="action-teaser-c1152dc7a8-cta-30e6954101" class="c11n-link__content">Go to market summary</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.19:1 (required: 4.5:1 for normal text). Foreground: rgb(26, 26, 26), background: rgb(2, 3, 3). Text: "(1)"WCAG 1.4.3
Element:
<span class="c11n-sr-only"> (1) </span>
Sonde Fix Plan

Current ratio: 1.19:1 (need 4.5:1). Change foreground from #1a1a1a to #767675 (ratio: 4.5:1). Or change background from #020303 to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "You're in good company"WCAG 1.4.3
Element:
<span style="display: inline;color: rgb(255,255,255);" class="cmp-richtext--fz-h3 cmp-richtext--ff-mark cmp-richtext--fw-heavy">You're in good company</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #ffffff to #959494 (ratio: 3.0:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "50 million"WCAG 1.4.3
Element:
<span data-placeholder-expression="${cf.tokens.vanguard-by-the-numbers.globalNumInvestorsSpelledOut}">50 million</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1). Current ratio: 1.00:1 (need 3:1). Change foreground from #ffffff to #959494 (ratio: 3.0:1).

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Ready for another spin?"WCAG 1.4.3
Element:
<h2 class="cmp-hero-spot__title">
        Ready for another spin?
    </h2>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #ffffff to #959494 (ratio: 3.0:1).

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(113, 119, 119), background: rgb(113, 119, 119). Text: "Is the Vanguard Cash Plus Account rate boost a limited promo"WCAG 1.4.3
Element:
<span class="cmp-accordion__title-text">Is the Vanguard Cash Plus Account rate boost a limited promotion?</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #717777 to #292e2f (ratio: 3.0:1). Or change background from #717777 to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Learn about the importance of an emergency fund"WCAG 1.4.3
Element:
<span id="action-teaser-9035131c30-cta-1f0812d271" class="c11n-link__content">Learn about the importance of an emergency fund</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Take a deeper dive into money market funds"WCAG 1.4.3
Element:
<span id="action-teaser-135927b015-cta-c297f85059" class="c11n-link__content">Take a deeper dive into money market funds</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(113, 119, 119), background: rgb(113, 119, 119). Text: "Digital Advisor"WCAG 1.4.3
Element:
<span class="cmp-accordion__title-text">Digital Advisor</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #717777 to #292e2f (ratio: 3.0:1). Or change background from #717777 to #000000. Current ratio: 1.00:1 (need 3:1). Change foreground from #040505 to #595c5b (ratio: 3.0:1). Or change background from #040505 to #000000.

criticalInsufficient color contrast: 1.27:1 (required: 4.5:1 for normal text). Foreground: rgb(85, 85, 85), background: rgb(56, 96, 190). Text: "Filter Button"WCAG 1.4.3
Element:
<title>Filter Button</title>
Sonde Fix Plan

Current ratio: 1.27:1 (need 4.5:1). Change foreground from #555555 to #e2e2e1 (ratio: 4.5:1). Or change background from #3860be to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Show all (6)"WCAG 1.4.3
Element:
<p role="button" tabindex="0" class="cmp-accordion--faq__toggle" aria-label="Show all 6 questions. Questions will be added above.">Show all (6)</p>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Compare investment advice"WCAG 1.4.3
Element:
<h1 class="cmp-hero-spot__title">
        Compare investment advice
    </h1>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #ffffff to #959494 (ratio: 3.0:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Financial planning services tailored to your needs."WCAG 1.4.3
Element:
<p>Financial planning services tailored to your needs.</p>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.27:1 (required: 4.5:1 for normal text). Foreground: rgb(85, 85, 85), background: rgb(56, 96, 190). Text: "Filter Button"WCAG 1.4.3
Element:
<title>Filter Button</title>
Sonde Fix Plan

Current ratio: 1.27:1 (need 4.5:1). Change foreground from #555555 to #e2e2e1 (ratio: 4.5:1). Or change background from #3860be to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Online privacy notice"WCAG 1.4.3
Element:
<a data-cta-tracking="true" href="/privacy-center/online-privacy-notice" data-di-id="di-id-fc8bf8ef-e89ec30f">Online privacy notice</a>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.27:1 (required: 4.5:1 for normal text). Foreground: rgb(85, 85, 85), background: rgb(56, 96, 190). Text: "Filter Button"WCAG 1.4.3
Element:
<title>Filter Button</title>
Sonde Fix Plan

Current ratio: 1.27:1 (need 4.5:1). Change foreground from #555555 to #e2e2e1 (ratio: 4.5:1). Or change background from #3860be to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "You have certain cookies disabled on the Vanguard site. "WCAG 1.4.3
Element:
<div class="cmp-videoplayer--warning-textoverlay">
            You have certain cookies disabled on the Vanguard site.<br>
            In order to watch this video, you must agree to the use of cookie
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(113, 119, 119), background: rgb(113, 119, 119). Text: "How we protect you"WCAG 1.4.3
Element:
<span class="cmp-accordion__title-text">How we  protect you</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #717777 to #292e2f (ratio: 3.0:1). Or change background from #717777 to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "here"WCAG 1.4.3
Element:
<span class="cmp-videoplayer--warning-button-text"> here</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highConsole warning: Unable to evaluate placeholder: page.cid
Page: /
Source: https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

highConsole warning: Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.
Source: https://cdn.web.vanguard.com/c11n-web/v1/common--Ash50S_.js:0medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

highConsole warning: Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.
Page: /advice
Source: https://cdn.web.vanguard.com/c11n-web/v1/common--Ash50S_.js:0medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

highConsole warning: Unable to evaluate placeholder: page.cid
Source: https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

highConsole warning: Unable to evaluate placeholder: page.cid
Source: https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

highConsole warning: Unable to evaluate placeholder: page.cid
Source: https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

highFocus jumps backward from "Vanguard Charitable" to "Personal investors" (visual distance: 602px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>Personal investors</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highFocus jumps backward from "security profile" to "receive text message alerts" (visual distance: 766px). No explicit tabIndex — likely a DOM order issue.WCAG 2.4.3
Element:
<a>receive text message alerts</a>
Sonde Fix Plan

Reorder elements in the DOM to match the visual layout.

highPage requires horizontal scrolling at 320px width (183px overflow). Content should reflow without horizontal scrolling at this width.WCAG 1.4.10
Element:
<html>
Sonde Fix Plan

Use responsive CSS (max-width, flex-wrap, media queries) to ensure content reflows at narrow widths.

highstrict-transport-security header has invalid or weak value: max-age=21600
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer Add X-Content-Type-Options: nosniff

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /advice
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAside should not be contained in another landmark: Fix any of the following: The null landmark is contained in another landmark.
Element:
<aside class="GetStarted_triage__FuPXg col sm-16 md-7 md-offset-right-1 
                        GetStarted_triage--sticky__imxKn lg-large-margin xlg-large-margin xxlg-auto-margin">
Sonde Fix Plan

Ensure the complementary landmark or aside is at top level. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumHeading levels should only increase by one: Fix any of the following: Heading order invalid
Element:
<h3><span class="cmp-richtext--fz-h3 cmp-richtext--ff-mark cmp-richtext--fw-heavy">How your information is used</span></h3>
Sonde Fix Plan

Ensure the order of headings is semantically correct. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumPage should contain a level-one heading: Fix all of the following: Page must have a level-one heading
Element:
<html lang="en" style="--vg-vgn-pre-sticky-nav-bottom: 0px; --vg-vgn-sticky-nav-bottom: 0px; --vg-vgn-footer-height: 383px;" data-di-loaded="1">
Sonde Fix Plan

Ensure that the page, or at least one of its frames contains a level-one heading. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(35, 35, 35), text: rgb(51, 51, 51)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a class="Nav_nav_links__qN0QL" href="https://investor.vanguard.com" role="menuitem" tabindex="-1">Personal investors</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumBroken link: https://investor.vanguard.com/privacy-center/_https_%2F%2Fpolicies.google.com%2F returned status 404 Not Found after 1 attempts
Element:
<a href="https://investor.vanguard.com/privacy-center/_https_%2F%2Fpolicies.google.com%2F">Privacy Policy and Terms of Service</a>
mediumPage has only one navigation mechanism (search). WCAG requires at least two ways to locate a page within a set of pages.WCAG 2.4.5
Sonde Fix Plan

Add at least two of: site navigation (<nav>), search functionality (input[type="search"] or role="search"), a sitemap link, breadcrumb navigation, or a table of contents.

mediumPage has only one navigation mechanism (search). WCAG requires at least two ways to locate a page within a set of pages.WCAG 2.4.5
Sonde Fix Plan

Add at least two of: site navigation (<nav>), search functionality (input[type="search"] or role="search"), a sitemap link, breadcrumb navigation, or a table of contents.

mediumPage has only one navigation mechanism (search). WCAG requires at least two ways to locate a page within a set of pages.WCAG 2.4.5
Sonde Fix Plan

Add at least two of: site navigation (<nav>), search functionality (input[type="search"] or role="search"), a sitemap link, breadcrumb navigation, or a table of contents.

mediumPage has only one navigation mechanism (search). WCAG requires at least two ways to locate a page within a set of pages.WCAG 2.4.5
Sonde Fix Plan

Add at least two of: site navigation (<nav>), search functionality (input[type="search"] or role="search"), a sitemap link, breadcrumb navigation, or a table of contents.

mediumContent clipped by 165px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<div class="cmp-carousel__content" style="height: 689px;">
        <div role="tabpanel" data-cmp-data-layer="{&quot;home-page-aspot-carousel-item-b4ace01956&quot;:{&quot;@type&quot;:&quot;vanguard-ret
Sonde Fix Plan

Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.

mediumContent clipped by 101px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<div aria-live="polite" aria-atomic="true" class="cmp-carousel__live-region c11n-sr-only">Slide 2 of 3</div>
Sonde Fix Plan

Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.

mediumContent clipped by 25px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<span class="c11n-sr-only"> (1) </span>
Sonde Fix Plan

Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.

mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="A young woman sitting on a bed is resting her arm on her knee and smiling down are her open laptop." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt=" A middle-aged man holding a smartphone is wearing glasses while sitting on a couch with his arm tucked behind his head while he looks out to his left." data-cmp-hook-im
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="Image showing performance of market " data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="A man taking a break from his laptop to enjoy a warm beverage and reflect. " data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="A young girl wearing a cape on her back and a butterfly mask on her head is smiling while running forward with her arms stretched out." data-cmp-hook-image="image" itemp
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="Woman wearing glasses, holding a pen sitting at a table with open books and a laptop" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="Smiling woman in a hijab is sitting at a desk with her laptop." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" s
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt=" A young man is talking and gesticulating with open palms to someone off screen" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__ima
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Get it on Google Play image with Google Play logo." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:ima
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="woman smiling at phone with vanguard logo" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;ba
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Icon of a line graph on top of a bar chart." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Woman wearing a hijab is sitting at a table with a drink in hand while she look off to her left side." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Vanguard Cash Plus app on mobile phone against a turquoise and white background." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__im
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="A father is laughing while pushing his smiling son on a swing." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" s
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Download on the App Store image with Apple logo." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Download Vanguard app QR code" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,R0lGODl
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="An institutional building." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,R0lGODlhAQ
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="A woman brings her baby over so her partner can take a break from working and give them a kiss.  " data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__im
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="A lock is featured inside a red-dashed box." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="A woman is marking off her checklist." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Asset mix icon" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Computer dollar sign." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,R0lGODlhAQABAIA
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /advice
Element:
<img fetchpriority="high" alt="A young woman is using a tablet to learn about investing." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="d
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /advice
Element:
<img fetchpriority="high" alt="A woman holding a mobile phone against a red patterned background." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loadin
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /advice
Element:
<img fetchpriority="high" alt="A smiling woman in a city looks at her phone." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gi
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /advice
Element:
<img fetchpriority="high" alt="An older woman is holding a smartphone while smiling at someone out of view." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image-
lowBroken link: https://personal.vanguard.com/pdf/Bank_Sweep_Terms_of_Use.pdf returned status 403 Forbidden after 1 attempts
Element:
<a href="https://personal.vanguard.com/pdf/Bank_Sweep_Terms_of_Use.pdf">Vanguard Bank Sweep Products Terms of Use (PDF)</a>
lowBroken link: https://www.vanguard.com/performance returned status 403 Forbidden after 1 attempts
Element:
<a href="https://www.vanguard.com/performance">www.vanguard.com/performance</a>
lowLink timeout: https://investmentonly.vanguard.com/VGApp/iio/nesc/LoginPage?TYPE=33554433&REALMOID=06-000b618b-114c-1b03-971f-8b160a96f0f1&GUID=&SMAUTHREASON=0&METHOD=GET&SMAGENTNAME=investmentonlyprd02&TARGET=$SM$%2fVGApp%2fiio%2fPortfolios did not respond within 5000ms after 6 attempts
Element:
<a href="https://investmentonly.vanguard.com/VGApp/iio/nesc/LoginPage?TYPE=33554433&amp;REALMOID=06-000b618b-114c-1b03-971f-8b160a96f0f1&amp;GUID=&amp;SMAUTHREASON=0&amp;METHOD=GET&amp;SMAGENTNAME=investmentonlyprd02&amp;TARGET=$SM$%2fVGApp%2fiio%2fPortfolios">Institutional Trading</a>
lowBroken link: https://personal.vanguard.com/us/content/SiteWide/LglDocs/SWLglTermsConditionsContent.jsp?cbdForceDomain=true returned status 403 Forbidden after 1 attempts
Element:
<a href="https://personal.vanguard.com/us/content/SiteWide/LglDocs/SWLglTermsConditionsContent.jsp?cbdForceDomain=true">terms &amp; conditions of use.</a>
lowBroken link: https://personal.vanguard.com/us/XHTML/com/vanguard/retail/web/vbio/selfprovisioned/xhtml/VoiceBioSelfProvisionedStatus.xhtml returned status 403 Forbidden after 1 attempts
Element:
<a href="https://personal.vanguard.com/us/XHTML/com/vanguard/retail/web/vbio/selfprovisioned/xhtml/VoiceBioSelfProvisionedStatus.xhtml">Sign up now</a>

Best Page Fix Opportunities

/accounts-plans/vanguard-cash-plus-account48findings
criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(113, 119, 119), background: rgb(113, 119, 119). Text: "Is the Vanguard Cash Plus Account rate boost a limited promo"WCAG 1.4.3
Element:
<span class="cmp-accordion__title-text">Is the Vanguard Cash Plus Account rate boost a limited promotion?</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #717777 to #292e2f (ratio: 3.0:1). Or change background from #717777 to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Learn about the importance of an emergency fund"WCAG 1.4.3
Element:
<span id="action-teaser-9035131c30-cta-1f0812d271" class="c11n-link__content">Learn about the importance of an emergency fund</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Take a deeper dive into money market funds"WCAG 1.4.3
Element:
<span id="action-teaser-135927b015-cta-c297f85059" class="c11n-link__content">Take a deeper dive into money market funds</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highConsole warning: Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.
Source: https://cdn.web.vanguard.com/c11n-web/v1/common--Ash50S_.js:0medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Get it on Google Play image with Google Play logo." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:ima
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="woman smiling at phone with vanguard logo" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;ba
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Icon of a line graph on top of a bar chart." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Woman wearing a hijab is sitting at a table with a drink in hand while she look off to her left side." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Vanguard Cash Plus app on mobile phone against a turquoise and white background." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__im
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="A father is laughing while pushing his smiling son on a swing." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" s
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Download on the App Store image with Apple logo." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Download Vanguard app QR code" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,R0lGODl
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="An institutional building." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,R0lGODlhAQ
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="A woman brings her baby over so her partner can take a break from working and give them a kiss.  " data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__im
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="A lock is featured inside a red-dashed box." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="A woman is marking off her checklist." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Asset mix icon" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Element:
<img fetchpriority="high" alt="Computer dollar sign." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,R0lGODlhAQABAIA
lowBroken link: https://personal.vanguard.com/pdf/Bank_Sweep_Terms_of_Use.pdf returned status 403 Forbidden after 1 attempts
Element:
<a href="https://personal.vanguard.com/pdf/Bank_Sweep_Terms_of_Use.pdf">Vanguard Bank Sweep Products Terms of Use (PDF)</a>
investor.vanguard.com36findings
criticalInsufficient color contrast: 1.27:1 (required: 4.5:1 for normal text). Foreground: rgb(85, 85, 85), background: rgb(56, 96, 190). Text: "Filter Button"WCAG 1.4.3
Element:
<title>Filter Button</title>
Sonde Fix Plan

Current ratio: 1.27:1 (need 4.5:1). Change foreground from #555555 to #e2e2e1 (ratio: 4.5:1). Or change background from #3860be to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "FINRA's BrokerCheck"WCAG 1.4.3
Element:
<span class="cmp-richtext--primary-span">FINRA's BrokerCheck</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "here"WCAG 1.4.3
Element:
<span class="cmp-videoplayer--warning-button-text"> here</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Read now"WCAG 1.4.3
Element:
<span class="cmp-alert__action-text">Read now</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "You have certain cookies disabled on the Vanguard site. "WCAG 1.4.3
Element:
<div class="cmp-videoplayer--warning-textoverlay">
            You have certain cookies disabled on the Vanguard site.<br>
            In order to watch this video, you must agree to the use of cookie
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Access tax FAQs"WCAG 1.4.3
Element:
<span id="action-teaser-0f2b2b68e8-cta-bf1d853027" class="c11n-link__content">Access tax FAQs</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Earn more on your savings: Cash Plus will earn an additional"WCAG 1.4.3
Element:
<p>Earn more on your savings: Cash Plus will earn an additional 0.25% boost on the base APY, now extended through 9/30/26. Base APY will vary.</p>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Set up online account access"WCAG 1.4.3
Element:
<a data-cta-tracking="true" href="https://web-registration.vanguard.com/" data-di-id="di-id-af10efec-14bb29c3">Set up online account access</a>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000. Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Read articles"WCAG 1.4.3
Element:
<span id="action-teaser-bcedde14d8-cta-498b705dcd" class="c11n-link__content">Read articles</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Go to market summary"WCAG 1.4.3
Element:
<span id="action-teaser-c1152dc7a8-cta-30e6954101" class="c11n-link__content">Go to market summary</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.19:1 (required: 4.5:1 for normal text). Foreground: rgb(26, 26, 26), background: rgb(2, 3, 3). Text: "(1)"WCAG 1.4.3
Element:
<span class="c11n-sr-only"> (1) </span>
Sonde Fix Plan

Current ratio: 1.19:1 (need 4.5:1). Change foreground from #1a1a1a to #767675 (ratio: 4.5:1). Or change background from #020303 to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "You're in good company"WCAG 1.4.3
Element:
<span style="display: inline;color: rgb(255,255,255);" class="cmp-richtext--fz-h3 cmp-richtext--ff-mark cmp-richtext--fw-heavy">You're in good company</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #ffffff to #959494 (ratio: 3.0:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "50 million"WCAG 1.4.3
Element:
<span data-placeholder-expression="${cf.tokens.vanguard-by-the-numbers.globalNumInvestorsSpelledOut}">50 million</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1). Current ratio: 1.00:1 (need 3:1). Change foreground from #ffffff to #959494 (ratio: 3.0:1).

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Ready for another spin?"WCAG 1.4.3
Element:
<h2 class="cmp-hero-spot__title">
        Ready for another spin?
    </h2>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #ffffff to #959494 (ratio: 3.0:1).

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highConsole warning: Unable to evaluate placeholder: page.cid
Page: /
Source: https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumPage has only one navigation mechanism (search). WCAG requires at least two ways to locate a page within a set of pages.WCAG 2.4.5
Sonde Fix Plan

Add at least two of: site navigation (<nav>), search functionality (input[type="search"] or role="search"), a sitemap link, breadcrumb navigation, or a table of contents.

mediumContent clipped by 165px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<div class="cmp-carousel__content" style="height: 689px;">
        <div role="tabpanel" data-cmp-data-layer="{&quot;home-page-aspot-carousel-item-b4ace01956&quot;:{&quot;@type&quot;:&quot;vanguard-ret
Sonde Fix Plan

Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.

mediumContent clipped by 101px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<div aria-live="polite" aria-atomic="true" class="cmp-carousel__live-region c11n-sr-only">Slide 2 of 3</div>
Sonde Fix Plan

Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.

mediumContent clipped by 25px when text spacing is applied per WCAG 1.4.12. Text may be hidden when users adjust spacing for readability.WCAG 1.4.12
Element:
<span class="c11n-sr-only"> (1) </span>
Sonde Fix Plan

Avoid fixed-height containers with overflow: hidden for text content. Use min-height or allow containers to grow.

mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="A young woman sitting on a bed is resting her arm on her knee and smiling down are her open laptop." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt=" A middle-aged man holding a smartphone is wearing glasses while sitting on a couch with his arm tucked behind his head while he looks out to his left." data-cmp-hook-im
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="Image showing performance of market " data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gif;base64,
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="A man taking a break from his laptop to enjoy a warm beverage and reflect. " data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="A young girl wearing a cape on her back and a butterfly mask on her head is smiling while running forward with her arms stretched out." data-cmp-hook-image="image" itemp
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="Woman wearing glasses, holding a pen sitting at a table with open books and a laptop" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt="Smiling woman in a hijab is sitting at a desk with her laptop." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" s
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /
Element:
<img fetchpriority="high" alt=" A young man is talking and gesticulating with open palms to someone off screen" data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__ima
/advice21findings
criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(113, 119, 119), background: rgb(113, 119, 119). Text: "Digital Advisor"WCAG 1.4.3
Element:
<span class="cmp-accordion__title-text">Digital Advisor</span>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #717777 to #292e2f (ratio: 3.0:1). Or change background from #717777 to #000000. Current ratio: 1.00:1 (need 3:1). Change foreground from #040505 to #595c5b (ratio: 3.0:1). Or change background from #040505 to #000000.

criticalInsufficient color contrast: 1.27:1 (required: 4.5:1 for normal text). Foreground: rgb(85, 85, 85), background: rgb(56, 96, 190). Text: "Filter Button"WCAG 1.4.3
Element:
<title>Filter Button</title>
Sonde Fix Plan

Current ratio: 1.27:1 (need 4.5:1). Change foreground from #555555 to #e2e2e1 (ratio: 4.5:1). Or change background from #3860be to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(20, 91, 255), background: rgb(20, 91, 255). Text: "Show all (6)"WCAG 1.4.3
Element:
<p role="button" tabindex="0" class="cmp-accordion--faq__toggle" aria-label="Show all 6 questions. Questions will be added above.">Show all (6)</p>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #145bff to #e4eeff (ratio: 4.5:1). Or change background from #145bff to #000000.

criticalInsufficient color contrast: 1.00:1 (required: 3:1 for large text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Compare investment advice"WCAG 1.4.3
Element:
<h1 class="cmp-hero-spot__title">
        Compare investment advice
    </h1>
Sonde Fix Plan

Current ratio: 1.00:1 (need 3:1). Change foreground from #ffffff to #959494 (ratio: 3.0:1).

criticalInsufficient color contrast: 1.00:1 (required: 4.5:1 for normal text). Foreground: rgb(255, 255, 255), background: rgb(255, 255, 255). Text: "Financial planning services tailored to your needs."WCAG 1.4.3
Element:
<p>Financial planning services tailored to your needs.</p>
Sonde Fix Plan

Current ratio: 1.00:1 (need 4.5:1). Change foreground from #ffffff to #777676 (ratio: 4.5:1).

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highImage has no accessible name in the accessibility tree. Screen readers will skip or announce it generically.WCAG 1.1.1
Element:
<!-- a11y: role="image" -->
Sonde Fix Plan

Add alt text to the image. If decorative, mark with role="presentation" or alt="". WCAG 1.1.1 requires text alternatives for non-text content.

highConsole warning: Lit is in dev mode. Not recommended for production! See https://lit.dev/msg/dev-mode for more information.
Page: /advice
Source: https://cdn.web.vanguard.com/c11n-web/v1/common--Ash50S_.js:0medium
Sonde Fix Plan

Add Strict-Transport-Security header with max-age of at least 31536000 Add X-Content-Type-Options: nosniff Add X-Frame-Options: DENY or SAMEORIGIN Add a Content-Security-Policy header with appropriate directives Add Referrer-Policy: strict-origin-when-cross-origin or no-referrer

highPage requires horizontal scrolling at 320px width (183px overflow). Content should reflow without horizontal scrolling at this width.WCAG 1.4.10
Element:
<html>
Sonde Fix Plan

Use responsive CSS (max-width, flex-wrap, media queries) to ensure content reflows at narrow widths.

mediumFocusable element has generic role. Keyboard users can reach it but screen readers provide no context about its purpose.WCAG 4.1.2
Element:
<!-- a11y: role="generic" -->
Sonde Fix Plan

Add an explicit ARIA role (e.g., role="button") and an accessible name. WCAG 4.1.2 requires interactive elements to expose their role.

mediumAll page content should be contained by landmarks: Fix any of the following: Some page content is not contained by landmarks
Page: /advice
Element:
<div class="skip-container-OkFlwcFo">
Sonde Fix Plan

Ensure all page content is contained by landmarks. See: https://www.w3.org/WAI/WCAG22/quickref/

mediumLink is distinguished from surrounding text only by color (link: rgb(56, 96, 190), text: rgb(4, 5, 5)). Users who cannot perceive color differences may not identify this as a link.WCAG 1.4.1
Element:
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
Sonde Fix Plan

Add a non-color visual indicator to links: underline (text-decoration: underline), border-bottom, increased font-weight, or a visible icon. The indicator must be present in the default state, not just on hover.

mediumNavigation region "div" (present on investor.vanguard.com) is missing on this page. Navigation should appear consistently across pages.WCAG 3.2.3
Element:
<!-- missing: div#global-nav -->
Sonde Fix Plan

Ensure the "div" navigation region appears on all pages in the site. Consistent navigation helps users predict where to find content.

mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /advice
Element:
<img fetchpriority="high" alt="A young woman is using a tablet to learn about investing." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="d
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /advice
Element:
<img fetchpriority="high" alt="A woman holding a mobile phone against a red patterned background." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loadin
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /advice
Element:
<img fetchpriority="high" alt="A smiling woman in a city looks at her phone." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image--is-loading" src="data:image/gi
mediumStuck loading state: loading indicator CSS class on <img> persists after page readiness
Page: /advice
Element:
<img fetchpriority="high" alt="An older woman is holding a smartphone while smiling at someone out of view." data-cmp-hook-image="image" itemprop="contentUrl" class="cmp-image__image cmp-image__image-

Methodology

The Sonde Score is a universal 0–1000 compliance index — think of it like a credit score for accessibility. Each finding is weighted by its impact on human access: a keyboard trap (critical) counts far more than a best-practice suggestion (low). The raw penalty is normalized per page so scores are comparable across sites of any size. A harmonic curve ensures every site gets a meaningful score — no zeros, no false perfection.

Score = round(1000 × S / (S + P/N))

where S = sensitivity (750), P = Σ(weight × count), N = pages scanned

TierWeightExamples
Critical10Keyboard traps, missing page language
High3Missing alt text, insufficient contrast
Medium1Heading hierarchy, unclear link purpose
Low0.25Best-practice suggestions

The Sonde Score is a living standard (v0.1). We’re building it in the open because accessibility is too important for closed-door decisions. Your expertise makes it better.

Enter Mission Control

Review raw findings data, track changes between scans, and contribute to Sonde’s open methodology.

Nominate a Site for the Daylight Index

Know a public website that should be on the accessibility leaderboard? Nominate it — we’ll scan it and publish the results.

Nominate a Site →

This report is a health check, not a verdict. Every website has room to improve.

Disclaimer: This report presents the results of automated accessibility analysis and is provided free of charge, as-is, without warranty of any kind. Findings are generated by software, not by human accessibility experts, and may contain errors or omissions. Automated testing can detect approximately 30–40% of accessibility issues; manual expert evaluation is recommended for complete conformance assessment. Scores reflect algorithmic analysis under a published methodology open to public review — they are not legal determinations of compliance. Results reflect the state of the website at the time of scanning and may change as the site is updated. Nothing in this report constitutes legal advice. Sonde assumes no liability for decisions made based on these results.

Compliance methodology: NIST 800-53 Rev 5 (usnistgov/oscal-content v1.4.0, catalog 5.2.0) · NIST PRIVACY overlay (usnistgov/oscal-content v1.4.0, catalog 5.2.0) · FedRAMP Rev 5 (OSCAL-Foundation/fedramp-resources a6b85ed451, catalog fedramp-3.0.0rc1-oscal-1.1.2).