Accessibility Health Check
https://vanguard.com
Excellent
https://daylight.sonde.life/usfin/vanguard-com/
Excellent
Executive Summary
Top Findings
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
<title>Filter Button</title>
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
<span class="cmp-richtext--primary-span">FINRA's BrokerCheck</span>
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
<span class="cmp-videoplayer--warning-button-text"> here</span>
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
<span class="cmp-alert__action-text">Read now</span>
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
<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 cookieCurrent 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
<span id="action-teaser-0f2b2b68e8-cta-bf1d853027" class="c11n-link__content">Access tax FAQs</span>
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
<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>
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
<a data-cta-tracking="true" href="https://web-registration.vanguard.com/" data-di-id="di-id-af10efec-14bb29c3">Set up online account access</a>
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
<span id="action-teaser-bcedde14d8-cta-498b705dcd" class="c11n-link__content">Read articles</span>
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
<span id="action-teaser-c1152dc7a8-cta-30e6954101" class="c11n-link__content">Go to market summary</span>
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
<span class="c11n-sr-only"> (1) </span>
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
<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>
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
<span data-placeholder-expression="${cf.tokens.vanguard-by-the-numbers.globalNumInvestorsSpelledOut}">50 million</span>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
<h2 class="cmp-hero-spot__title">
Ready for another spin?
</h2>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
<span class="cmp-accordion__title-text">Is the Vanguard Cash Plus Account rate boost a limited promotion?</span>
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
<span id="action-teaser-9035131c30-cta-1f0812d271" class="c11n-link__content">Learn about the importance of an emergency fund</span>
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
<span id="action-teaser-135927b015-cta-c297f85059" class="c11n-link__content">Take a deeper dive into money market funds</span>
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
<span class="cmp-accordion__title-text">Digital Advisor</span>
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
<title>Filter Button</title>
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
<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>
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
<h1 class="cmp-hero-spot__title">
Compare investment advice
</h1>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
<p>Financial planning services tailored to your needs.</p>
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
<title>Filter Button</title>
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
<a data-cta-tracking="true" href="/privacy-center/online-privacy-notice" data-di-id="di-id-fc8bf8ef-e89ec30f">Online privacy notice</a>
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
<title>Filter Button</title>
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
<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 cookieCurrent 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
<span class="cmp-accordion__title-text">How we protect you</span>
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
<span class="cmp-videoplayer--warning-button-text"> here</span>
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1mediumAdd 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.
https://cdn.web.vanguard.com/c11n-web/v1/common--Ash50S_.js:0mediumAdd 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.
https://cdn.web.vanguard.com/c11n-web/v1/common--Ash50S_.js:0mediumAdd 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
https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1mediumAdd 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
https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1mediumAdd 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
https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1mediumAdd 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
<a>Personal investors</a>
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
<a>receive text message alerts</a>
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
<html>
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
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
<!-- a11y: role="generic" -->
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
<!-- a11y: role="generic" -->
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
<!-- a11y: role="generic" -->
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
<!-- a11y: role="generic" -->
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
<!-- a11y: role="generic" -->
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
<!-- a11y: role="generic" -->
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
<div class="skip-container-OkFlwcFo">
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
<div class="skip-container-OkFlwcFo">
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
<div class="skip-container-OkFlwcFo">
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.
<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">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
<h3><span class="cmp-richtext--fz-h3 cmp-richtext--ff-mark cmp-richtext--fw-heavy">How your information is used</span></h3>
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
<div class="skip-container-OkFlwcFo">
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
<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">
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
<div class="skip-container-OkFlwcFo">
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
<div class="skip-container-OkFlwcFo">
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<a class="Nav_nav_links__qN0QL" href="https://investor.vanguard.com" role="menuitem" tabindex="-1">Personal investors</a>
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<!-- missing: div#global-nav -->
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
<!-- missing: div#global-nav -->
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
<!-- missing: div#global-nav -->
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
<!-- missing: div#global-nav -->
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
<!-- missing: div#global-nav -->
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
<!-- missing: div#global-nav -->
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
<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
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
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
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
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
<div class="cmp-carousel__content" style="height: 689px;">
<div role="tabpanel" data-cmp-data-layer="{"home-page-aspot-carousel-item-b4ace01956":{"@type":"vanguard-retAvoid 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
<div aria-live="polite" aria-atomic="true" class="cmp-carousel__live-region c11n-sr-only">Slide 2 of 3</div>
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
<span class="c11n-sr-only"> (1) </span>
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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<a href="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">Institutional Trading</a>
lowBroken link: https://personal.vanguard.com/us/content/SiteWide/LglDocs/SWLglTermsConditionsContent.jsp?cbdForceDomain=true returned status 403 Forbidden after 1 attempts
<a href="https://personal.vanguard.com/us/content/SiteWide/LglDocs/SWLglTermsConditionsContent.jsp?cbdForceDomain=true">terms & 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
<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
<span class="cmp-accordion__title-text">Is the Vanguard Cash Plus Account rate boost a limited promotion?</span>
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
<span id="action-teaser-9035131c30-cta-1f0812d271" class="c11n-link__content">Learn about the importance of an emergency fund</span>
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
<span id="action-teaser-135927b015-cta-c297f85059" class="c11n-link__content">Take a deeper dive into money market funds</span>
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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.
https://cdn.web.vanguard.com/c11n-web/v1/common--Ash50S_.js:0mediumAdd 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
<!-- a11y: role="generic" -->
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
<div class="skip-container-OkFlwcFo">
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<!-- missing: div#global-nav -->
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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<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
<title>Filter Button</title>
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
<span class="cmp-richtext--primary-span">FINRA's BrokerCheck</span>
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
<span class="cmp-videoplayer--warning-button-text"> here</span>
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
<span class="cmp-alert__action-text">Read now</span>
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
<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 cookieCurrent 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
<span id="action-teaser-0f2b2b68e8-cta-bf1d853027" class="c11n-link__content">Access tax FAQs</span>
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
<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>
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
<a data-cta-tracking="true" href="https://web-registration.vanguard.com/" data-di-id="di-id-af10efec-14bb29c3">Set up online account access</a>
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
<span id="action-teaser-bcedde14d8-cta-498b705dcd" class="c11n-link__content">Read articles</span>
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
<span id="action-teaser-c1152dc7a8-cta-30e6954101" class="c11n-link__content">Go to market summary</span>
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
<span class="c11n-sr-only"> (1) </span>
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
<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>
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
<span data-placeholder-expression="${cf.tokens.vanguard-by-the-numbers.globalNumInvestorsSpelledOut}">50 million</span>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
<h2 class="cmp-hero-spot__title">
Ready for another spin?
</h2>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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
https://investor.vanguard.com/etc.clientlibs/marketing-site/clientlibs/clientlib-site.min.ACSHASHbd674b246f26c07bfe7d3be3136df89a.js:1mediumAdd 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
<!-- a11y: role="generic" -->
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
<div class="skip-container-OkFlwcFo">
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<!-- missing: div#global-nav -->
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
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
<div class="cmp-carousel__content" style="height: 689px;">
<div role="tabpanel" data-cmp-data-layer="{"home-page-aspot-carousel-item-b4ace01956":{"@type":"vanguard-retAvoid 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
<div aria-live="polite" aria-atomic="true" class="cmp-carousel__live-region c11n-sr-only">Slide 2 of 3</div>
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
<span class="c11n-sr-only"> (1) </span>
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
<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
<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
<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
<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
<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
<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
<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
<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
<span class="cmp-accordion__title-text">Digital Advisor</span>
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
<title>Filter Button</title>
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
<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>
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
<h1 class="cmp-hero-spot__title">
Compare investment advice
</h1>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
<p>Financial planning services tailored to your needs.</p>
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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
<!-- a11y: role="image" -->
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.
https://cdn.web.vanguard.com/c11n-web/v1/common--Ash50S_.js:0mediumAdd 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
<html>
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
<!-- a11y: role="generic" -->
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
<div class="skip-container-OkFlwcFo">
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
<a href="https://investor.vanguard.com/privacy-center" target="_blank" data-di-id="di-id-22cb6c13-657aa113">Vanguard Privacy Center.</a>
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
<!-- missing: div#global-nav -->
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
<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
<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
<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
<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.
where S = sensitivity (750), P = Σ(weight × count), N = pages scanned
| Tier | Weight | Examples |
|---|---|---|
| Critical | 10 | Keyboard traps, missing page language |
| High | 3 | Missing alt text, insufficient contrast |
| Medium | 1 | Heading hierarchy, unclear link purpose |
| Low | 0.25 | Best-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.