Open Site Review Report
- Targets: defaults, not ie <= 11
- Unsupported threshold: 10%
- Polyfill removable threshold: 5%
- Files scanned: 65
- Findings: 18
- Scan mode: URL crawl (same-origin assets only)
- Source fetch errors: 1
Source Fetch Errors
- https://va.gov/assets/css/ie.css: Failed to fetch https://va.gov/assets/css/ie.css: HTTP 404
[HIGH] Uses JavaScript optional chaining
- Type: too-new
- Location: https://va.gov/_next/static/chunks/3a667e0539215166.js:1
- Message: Feature may be too new for target browsers (14.7% unsupported).
- Why it matters: Optional chaining improves readability and safety, but very old browsers require transpilation.
- Recommendation: If older browsers are in scope, transpile this syntax and serve appropriate bundles.
- Can I Use feature: mdn-javascript_operators_optional_chaining
- Unsupported target share: 14.7%
- Compatibility source: mdn-bcd
- Compatibility note: Can I Use feature 'mdn-javascript_operators_optional_chaining' unavailable; used MDN fallback.
- Unsupported targets: and_qq 14.9, and_uc 15.5, kaios 3.0-3.1, kaios 2.5, op_mini all
- MDN: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Optional_chaining
[HIGH] Uses nullish coalescing operator
- Type: too-new
- Location: https://va.gov/_next/static/chunks/3a667e0539215166.js:1
- Message: Feature may be too new for target browsers (14.7% unsupported).
- Why it matters: Nullish coalescing can simplify defaults while avoiding falsy-value bugs, but legacy browsers need transpilation.
- Recommendation: Transpile this syntax for older browser support or gate usage to modern bundles only.
- Can I Use feature: mdn-javascript_operators_nullish_coalescing
- Unsupported target share: 14.7%
- Compatibility source: mdn-bcd
- Compatibility note: Can I Use feature 'mdn-javascript_operators_nullish_coalescing' unavailable; used MDN fallback.
- Unsupported targets: and_qq 14.9, and_uc 15.5, kaios 3.0-3.1, kaios 2.5, op_mini all
- MDN: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
[HIGH] Uses nullish coalescing operator
- Type: too-new
- Location: https://va.gov/_next/static/chunks/a6dad97d9634a72d.js:1
- Message: Feature may be too new for target browsers (14.7% unsupported).
- Why it matters: Nullish coalescing can simplify defaults while avoiding falsy-value bugs, but legacy browsers need transpilation.
- Recommendation: Transpile this syntax for older browser support or gate usage to modern bundles only.
- Can I Use feature: mdn-javascript_operators_nullish_coalescing
- Unsupported target share: 14.7%
- Compatibility source: mdn-bcd
- Compatibility note: Can I Use feature 'mdn-javascript_operators_nullish_coalescing' unavailable; used MDN fallback.
- Unsupported targets: and_qq 14.9, and_uc 15.5, kaios 3.0-3.1, kaios 2.5, op_mini all
- MDN: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
[HIGH] Uses JavaScript optional chaining
- Type: too-new
- Location: https://va.gov/_next/static/chunks/dea57da875ff6507.js:1
- Message: Feature may be too new for target browsers (14.7% unsupported).
- Why it matters: Optional chaining improves readability and safety, but very old browsers require transpilation.
- Recommendation: If older browsers are in scope, transpile this syntax and serve appropriate bundles.
- Can I Use feature: mdn-javascript_operators_optional_chaining
- Unsupported target share: 14.7%
- Compatibility source: mdn-bcd
- Compatibility note: Can I Use feature 'mdn-javascript_operators_optional_chaining' unavailable; used MDN fallback.
- Unsupported targets: and_qq 14.9, and_uc 15.5, kaios 3.0-3.1, kaios 2.5, op_mini all
- MDN: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Optional_chaining
[HIGH] Uses JavaScript optional chaining
- Type: too-new
- Location: https://va.gov/_next/static/chunks/turbopack-679e953b9420dbb3.js:1
- Message: Feature may be too new for target browsers (14.7% unsupported).
- Why it matters: Optional chaining improves readability and safety, but very old browsers require transpilation.
- Recommendation: If older browsers are in scope, transpile this syntax and serve appropriate bundles.
- Can I Use feature: mdn-javascript_operators_optional_chaining
- Unsupported target share: 14.7%
- Compatibility source: mdn-bcd
- Compatibility note: Can I Use feature 'mdn-javascript_operators_optional_chaining' unavailable; used MDN fallback.
- Unsupported targets: and_qq 14.9, and_uc 15.5, kaios 3.0-3.1, kaios 2.5, op_mini all
- MDN: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Optional_chaining
[HIGH] Uses nullish coalescing operator
- Type: too-new
- Location: https://va.gov/_next/static/chunks/turbopack-679e953b9420dbb3.js:1
- Message: Feature may be too new for target browsers (14.7% unsupported).
- Why it matters: Nullish coalescing can simplify defaults while avoiding falsy-value bugs, but legacy browsers need transpilation.
- Recommendation: Transpile this syntax for older browser support or gate usage to modern bundles only.
- Can I Use feature: mdn-javascript_operators_nullish_coalescing
- Unsupported target share: 14.7%
- Compatibility source: mdn-bcd
- Compatibility note: Can I Use feature 'mdn-javascript_operators_nullish_coalescing' unavailable; used MDN fallback.
- Unsupported targets: and_qq 14.9, and_uc 15.5, kaios 3.0-3.1, kaios 2.5, op_mini all
- MDN: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
[HIGH] Uses JavaScript optional chaining
- Type: too-new
- Location: https://va.gov/_next/static/chunks/turbopack-a99f1bcb20fbccde.js:1
- Message: Feature may be too new for target browsers (14.7% unsupported).
- Why it matters: Optional chaining improves readability and safety, but very old browsers require transpilation.
- Recommendation: If older browsers are in scope, transpile this syntax and serve appropriate bundles.
- Can I Use feature: mdn-javascript_operators_optional_chaining
- Unsupported target share: 14.7%
- Compatibility source: mdn-bcd
- Compatibility note: Can I Use feature 'mdn-javascript_operators_optional_chaining' unavailable; used MDN fallback.
- Unsupported targets: and_qq 14.9, and_uc 15.5, kaios 3.0-3.1, kaios 2.5, op_mini all
- MDN: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Optional_chaining
[HIGH] Uses nullish coalescing operator
- Type: too-new
- Location: https://va.gov/_next/static/chunks/turbopack-a99f1bcb20fbccde.js:1
- Message: Feature may be too new for target browsers (14.7% unsupported).
- Why it matters: Nullish coalescing can simplify defaults while avoiding falsy-value bugs, but legacy browsers need transpilation.
- Recommendation: Transpile this syntax for older browser support or gate usage to modern bundles only.
- Can I Use feature: mdn-javascript_operators_nullish_coalescing
- Unsupported target share: 14.7%
- Compatibility source: mdn-bcd
- Compatibility note: Can I Use feature 'mdn-javascript_operators_nullish_coalescing' unavailable; used MDN fallback.
- Unsupported targets: and_qq 14.9, and_uc 15.5, kaios 3.0-3.1, kaios 2.5, op_mini all
- MDN: https://developer.mozilla.org/docs/Web/JavaScript/Reference/Operators/Nullish_coalescing
[LOW] Detects legacy jQuery usage
- Type: legacy-modernization-opportunity
- Location: https://va.gov/_next/static/chunks/3a667e0539215166.js:1
- Message: Pattern has modern native alternatives that may reduce code weight.
- Why it matters: Many DOM tasks historically handled by jQuery are now covered by standard APIs.
- Recommendation: Evaluate whether targeted vanilla replacements can reduce dependency and improve startup performance.
- Can I Use feature: queryselector
- Unsupported target share: 0.0%
- Compatibility source: caniuse
- MDN: https://developer.mozilla.org/docs/Web/API/Document/querySelector
[LOW] Detects legacy jQuery usage
- Type: legacy-modernization-opportunity
- Location: https://va.gov/_next/static/chunks/53586c06e58fb7f5.js:1
- Message: Pattern has modern native alternatives that may reduce code weight.
- Why it matters: Many DOM tasks historically handled by jQuery are now covered by standard APIs.
- Recommendation: Evaluate whether targeted vanilla replacements can reduce dependency and improve startup performance.
- Can I Use feature: queryselector
- Unsupported target share: 0.0%
- Compatibility source: caniuse
- MDN: https://developer.mozilla.org/docs/Web/API/Document/querySelector
[LOW] Imports core-js or babel-polyfill
- Type: polyfill-review
- Location: https://va.gov/_next/static/chunks/a6dad97d9634a72d.js:1
- Message: Polyfill may still be required for some targets (82.4% unsupported).
- Why it matters: Global polyfill bundles can increase JS size and execution cost.
- Recommendation: Prefer targeted polyfills and differential serving to reduce bundle cost.
- Can I Use feature: es6
- Unsupported target share: 82.4%
- Compatibility source: caniuse
- Unsupported targets: and_chr 145, and_ff 147, and_qq 14.9, and_uc 15.5, android 145, chrome 146, chrome 145, chrome 144, chrome 143, chrome 139, chrome 133, chrome 131, chrome 116, chrome 112, chrome 109, edge 145, edge 144, firefox 148, firefox 147, firefox 140, kaios 3.0-3.1, kaios 2.5, op_mini all, op_mob 80, opera 127, opera 126, samsung 29, samsung 28
[LOW] Detects legacy jQuery usage
- Type: legacy-modernization-opportunity
- Location: https://va.gov/_next/static/chunks/a6dad97d9634a72d.js:1
- Message: Pattern has modern native alternatives that may reduce code weight.
- Why it matters: Many DOM tasks historically handled by jQuery are now covered by standard APIs.
- Recommendation: Evaluate whether targeted vanilla replacements can reduce dependency and improve startup performance.
- Can I Use feature: queryselector
- Unsupported target share: 0.0%
- Compatibility source: caniuse
- MDN: https://developer.mozilla.org/docs/Web/API/Document/querySelector
[LOW] Imports core-js or babel-polyfill
- Type: polyfill-review
- Location: https://va.gov/_next/static/chunks/ca1817e8b0778fe4.js:1
- Message: Polyfill may still be required for some targets (82.4% unsupported).
- Why it matters: Global polyfill bundles can increase JS size and execution cost.
- Recommendation: Prefer targeted polyfills and differential serving to reduce bundle cost.
- Can I Use feature: es6
- Unsupported target share: 82.4%
- Compatibility source: caniuse
- Unsupported targets: and_chr 145, and_ff 147, and_qq 14.9, and_uc 15.5, android 145, chrome 146, chrome 145, chrome 144, chrome 143, chrome 139, chrome 133, chrome 131, chrome 116, chrome 112, chrome 109, edge 145, edge 144, firefox 148, firefox 147, firefox 140, kaios 3.0-3.1, kaios 2.5, op_mini all, op_mob 80, opera 127, opera 126, samsung 29, samsung 28
[LOW] Detects legacy jQuery usage
- Type: legacy-modernization-opportunity
- Location: https://va.gov/_next/static/chunks/ca1817e8b0778fe4.js:1
- Message: Pattern has modern native alternatives that may reduce code weight.
- Why it matters: Many DOM tasks historically handled by jQuery are now covered by standard APIs.
- Recommendation: Evaluate whether targeted vanilla replacements can reduce dependency and improve startup performance.
- Can I Use feature: queryselector
- Unsupported target share: 0.0%
- Compatibility source: caniuse
- MDN: https://developer.mozilla.org/docs/Web/API/Document/querySelector
[LOW] Detects legacy jQuery usage
- Type: legacy-modernization-opportunity
- Location: https://va.gov/_next/static/chunks/d82c33260faf16c6.js:1
- Message: Pattern has modern native alternatives that may reduce code weight.
- Why it matters: Many DOM tasks historically handled by jQuery are now covered by standard APIs.
- Recommendation: Evaluate whether targeted vanilla replacements can reduce dependency and improve startup performance.
- Can I Use feature: queryselector
- Unsupported target share: 0.0%
- Compatibility source: caniuse
- MDN: https://developer.mozilla.org/docs/Web/API/Document/querySelector
[LOW] Detects legacy jQuery usage
- Type: legacy-modernization-opportunity
- Location: https://va.gov/_next/static/chunks/e77263f273cd233f.js:1
- Message: Pattern has modern native alternatives that may reduce code weight.
- Why it matters: Many DOM tasks historically handled by jQuery are now covered by standard APIs.
- Recommendation: Evaluate whether targeted vanilla replacements can reduce dependency and improve startup performance.
- Can I Use feature: queryselector
- Unsupported target share: 0.0%
- Compatibility source: caniuse
- MDN: https://developer.mozilla.org/docs/Web/API/Document/querySelector
[LOW] Detects legacy jQuery usage
- Type: legacy-modernization-opportunity
- Location: https://va.gov/_next/static/chunks/turbopack-679e953b9420dbb3.js:1
- Message: Pattern has modern native alternatives that may reduce code weight.
- Why it matters: Many DOM tasks historically handled by jQuery are now covered by standard APIs.
- Recommendation: Evaluate whether targeted vanilla replacements can reduce dependency and improve startup performance.
- Can I Use feature: queryselector
- Unsupported target share: 0.0%
- Compatibility source: caniuse
- MDN: https://developer.mozilla.org/docs/Web/API/Document/querySelector
[LOW] Detects legacy jQuery usage
- Type: legacy-modernization-opportunity
- Location: https://va.gov/_next/static/chunks/turbopack-a99f1bcb20fbccde.js:1
- Message: Pattern has modern native alternatives that may reduce code weight.
- Why it matters: Many DOM tasks historically handled by jQuery are now covered by standard APIs.
- Recommendation: Evaluate whether targeted vanilla replacements can reduce dependency and improve startup performance.
- Can I Use feature: queryselector
- Unsupported target share: 0.0%
- Compatibility source: caniuse
- MDN: https://developer.mozilla.org/docs/Web/API/Document/querySelector
CSS Quality Analysis
Powered by Project Wallace — css-analyzer and css-code-quality.
https://va.gov/_next/static/chunks/fcab9da84741ab22.css
Code Quality Scores
- Performance: 90/100 ✅
- Maintainability: 70/100 ⚠️
- Complexity: 92/100 ✅
Quality Violations
Imports: score impact 10AverageDeclarationsPerRule: score impact 15MaxDeclarationsPerRule: score impact 15MaxSelectorComplexity: score impact 4AverageSelectorComplexity: score impact 4
Complexity Metrics
- Source lines of code: 470
- Stylesheet complexity: 1720
- Total rules: 51
- Total selectors: 54
- Total declarations: 409
!importantdeclarations: 17- Max selector specificity: 1,1,0
Design Tokens
- Custom properties (CSS variables): 264 unique
- --xsmall-screen, --small-screen, --tablet, --medium-screen, --small-desktop-screen, --large-screen, --mobile, --mobile-lg, --desktop, --desktop-lg, --widescreen, --color-link-default-hover, --vads-button-color-background-primary-on-light, --vads-button-color-background-primary-alt-active-on-light, --vads-button-color-background-secondary-on-light, --vads-button-color-background-disabled-on-light, --vads-button-color-text-primary-alt-on-light, --vads-button-color-text-primary-on-light, --vads-alert-color-background-info-on-light, --vads-alert-color-background-success-on-light, --vads-alert-color-background-warning-on-light, --vads-alert-color-background-error-on-light, --vads-color-white, --vads-label-hint-text-color-on-light, --vads-process-list-color-text-pending-on-light, --vads-color-gray-medium, --vads-color-gray-light-alt, --vads-color-gray-warm-light, --vads-color-gray-warm-dark, --vads-color-gray-cool-light, --vads-color-action-focus-on-light, --vads-color-base, --vads-color-base-dark, --vads-color-base-darker, --vads-color-base-darkest, --vads-color-base-light, --vads-color-base-lighter, --vads-color-base-lightest, --vads-color-emergency, --vads-color-emergency-dark, --vads-color-error, --vads-color-error-dark, --vads-color-error-darker, --vads-color-error-light, --vads-color-error-lighter, --vads-color-gibill-accent, --vads-color-hub-burials, --vads-color-hub-careers, --vads-color-hub-disability, --vads-color-hub-education, --vads-color-hub-health-care, --vads-color-hub-housing, --vads-color-hub-life-insurance, --vads-color-hub-pension, --vads-color-hub-records, --vads-color-hub-service-member, --vads-color-hub-family-member, --vads-color-info, --vads-color-info-dark, --vads-color-info-darker, --vads-color-info-light, --vads-color-info-lighter, --vads-color-ink, --vads-color-inset-bg, --vads-color-link, --vads-color-link-active, --vads-color-link-visited, --vads-color-primary, --vads-color-primary-alt, --vads-color-primary-alt-dark, --vads-color-primary-alt-darkest, --vads-color-primary-alt-light, --vads-color-primary-alt-lightest, --vads-color-primary-dark, --vads-color-primary-darker, --vads-color-primary-light, --vads-color-primary-lighter, --vads-color-secondary, --vads-color-secondary-dark, --vads-color-secondary-darkest, --vads-color-secondary-light, --vads-color-secondary-lightest, --vads-color-success, --vads-color-success-dark, --vads-color-success-darker, --vads-color-success-light, --vads-color-success-lighter, --vads-color-green-light, --vads-color-va-accent, --vads-color-warning, --vads-color-warning-dark, --vads-color-warning-darker, --vads-color-warning-light, --vads-color-warning-lighter, --vads-color-gold-lighter, --vads-color-gold-lightest, --vads-color-black, --vads-color-orange, --vads-color-green-lighter, --vads-color-blue-cool, --vads-color-blue-cool-light, --vads-color-blue-cool-lightest, --vads-color-action-surface-default-on-dark, --vads-color-action-surface-destructive-on-dark, --vads-color-action-border-base-active-on-light, --vads-color-action-border-base-active-on-dark, --vads-color-feedback-foreground-success-on-dark, --vads-color-feedback-foreground-success-on-light, --vads-color-feedback-foreground-warning-on-dark, --vads-color-feedback-foreground-warning-on-light, --vads-color-feedback-surface-info-on-dark, --vads-color-feedback-surface-success-on-dark, --vads-color-feedback-surface-warning-on-dark, --vads-color-feedback-surface-error-on-dark, --vads-color-feedback-border-warning-on-dark, --vads-color-background-default-on-dark, --vads-color-forms-surface-active-on-light, --vads-color-forms-surface-active-on-dark, --vads-input-background-color-on-light, --vads-input-border-color-on-light, --vads-input-prefix-color-fill-on-light, --vads-input-prefix-color-text-on-light, --vads-input-suffix-color-text-on-light, --vads-input-tile-background-active-on-light, --vads-input-tile-border-active-on-light, --vads-input-tile-border-on-light, --vads-elevation-shadow-1, --vads-elevation-shadow-2, --vads-elevation-shadow-3, --vads-elevation-shadow-4, --vads-elevation-shadow-5, --vads-elevation-shadow-none, --font-family-sans, --font-family-serif, --font-family-mono, --font-serif, --font-source-sans, --font-mono, --font-weight-normal, --font-weight-bold, --font-style-normal, --font-style-italic, --font-size-sm, --font-size-root, --font-size-md, --font-size-lg, --font-size-xl, --font-size-2xl, --font-size-h1, --font-size-h2, --font-size-h3, --font-size-h4, --font-size-h5, --font-size-h6, --v3-font-base-size, --vads-font-line-height-1, --vads-font-line-height-2, --vads-font-line-height-3, --vads-font-line-height-4, --vads-font-line-height-5, --vads-font-line-height-6, --vads-font-line-height-body-lead, --vads-font-line-height-default, --vads-font-line-height-heading, --vads-font-line-height-serif, --vads-font-line-height-mono, --vads-font-size-source-sans-normalized, --vads-font-size-root, --vads-font-size-body-large, --vads-font-size-body-lead, --vads-font-size-body-medium, --vads-font-size-body-small, --vads-font-size-eyebrow, --vads-font-size-heading-level-1, --vads-font-size-heading-level-2, --vads-font-size-heading-level-3, --vads-font-size-heading-level-4, --vads-font-size-heading-level-5, --vads-font-size-heading-level-6, --vads-size-line-length-1, --vads-size-line-length-2, --vads-size-line-length-3, --vads-size-line-length-4, --vads-size-line-length-5, --vads-size-line-length-6, --vads-size-line-length-none, --units-0, --units-1, --units-2, --units-3, --units-4, --units-5, --units-6, --units-7, --units-8, --units-9, --units-10, --units-15, --units-1px, --units-0p25, --units-0p5, --units-1p5, --units-2p5, --units-neg-1px, --units-neg-0p25, --units-neg-0p5, --units-neg-1, --units-neg-1p5, --units-neg-2, --units-neg-2p5, --units-neg-3, --units-neg-4, --units-neg-5, --units-neg-6, --units-neg-7, --units-neg-8, --units-neg-9, --units-neg-10, --units-neg-15, --vads-spacing-0, --vads-spacing-1, --vads-spacing-2, --vads-spacing-3, --vads-spacing-4, --vads-spacing-5, --vads-spacing-6, --vads-spacing-7, --vads-spacing-8, --vads-spacing-9, --vads-spacing-10, --vads-spacing-15, --vads-spacing-1px, --vads-spacing-2px, --vads-spacing-0p5, --vads-spacing-1p5, --vads-spacing-2p5, --vads-spacing-neg-1px, --vads-spacing-neg-2px, --vads-spacing-neg-0p5, --vads-spacing-neg-1, --vads-spacing-neg-1p5, --vads-spacing-neg-2, --vads-spacing-neg-2p5, --vads-spacing-neg-3, --vads-spacing-neg-4, --vads-spacing-neg-5, --vads-spacing-neg-6, --vads-spacing-neg-7, --vads-spacing-neg-8, --vads-spacing-neg-9, --vads-spacing-neg-10, --vads-spacing-neg-15, --vads-spacing-inset-l, --vads-spacing-inset-m, --vads-spacing-inset-s, --vads-spacing-vertical-stack-l, --vads-spacing-vertical-stack-m, --vads-spacing-vertical-stack-s, --vads-spacing-vertical-stack-default, --vads-forms-spacing-vertical-stack-default, --vads-site-margins-mobile-width, --vads-site-margins-width, --vads-site-margins-breakpoint, --vads-grid-container-max-width
- Colors: 89 unique
- rgba(0,0,0,.05), transparent, rgba(#000,.05), #000, #005ea2, #154c21, #fff, #c9c9c9, #e7f6f8, #ecf3ec, #faf3d1, #f4e3db, #757575, #edeff0, #e6e6e2, #454540, #e1e7f1, #face00, #1b1b1b, #565c65, #3d4551, #a9aeb1, #dfe1e2, #f0f0f0, #9c3d10, #332d29, #d54309, #b21d38, #6f3331, #f39268, #fef0c8, #2378c3, #bd5727, #a23737, #162e51, #3f57a6, #8e704f, #6f7a41, #4d8055, #00bde3, #009ec1, #2e6276, #99deea, #0b4778, #54278f, #28a0cb, #07648d, #97d4ea, #e1f3f8, #1a4480, #73b3e7, #d9e8f6, #d83933, #b50909, #8b0a03, #f2938c, #f8dfe2, #00a91c, #008817, #216e1f, #70e17b, #5e9f69, #8a7237, #ffbe2e, #e5a000, #936f38, #fee685, #ffe396, #dd7533, #b4d0b9, #345d96, #4a77b4, #98afd2, #58b4ff, #fb5a47, #2e2e2e, #adadad, #21c834, #c2850c, #112f4e, #19311e, #422d19, #5c1111, #171716, #ecf1f7, #252f3e, rgba(0,94,162,.1), rgba(27,27,27,.03), rgba(0,0,0,.1)
- Font sizes: 3 unique
- 1.33rem, 1rem, 1.25rem
- Z-index values: 1 unique
- 299
https://va.gov/_next/static/chunks/e240e2085662daf9.css
Code Quality Scores
- Performance: 100/100 ✅
- Maintainability: 100/100 ✅
- Complexity: 100/100 ✅
Complexity Metrics
- Source lines of code: 3
- Stylesheet complexity: 5
- Total rules: 1
- Total selectors: 1
- Total declarations: 1
- Max selector specificity: 0,1,0