Open Site Review Report
- Targets: defaults, not ie <= 11
- Unsupported threshold: 10%
- Polyfill removable threshold: 5%
- Files scanned: 34
- Findings: 5
- Scan mode: URL crawl (same-origin assets only)
- Source fetch errors: 23
Source Fetch Errors
- https://nsf.gov/about/research-areas: Failed to fetch https://nsf.gov/about/research-areas: HTTP 403
- https://nsf.gov/about/governance: Failed to fetch https://nsf.gov/about/governance: HTTP 404
- https://nsf.gov/about/career-opportunities: Failed to fetch https://nsf.gov/about/career-opportunities: HTTP 404
- https://nsf.gov/about/contact: Failed to fetch https://nsf.gov/about/contact: HTTP 404
- https://nsf.gov/about/foia/: Failed to fetch https://nsf.gov/about/foia/: HTTP 404
- https://nsf.gov/funding/how-to-apply: Failed to fetch https://nsf.gov/funding/how-to-apply: HTTP 404
- https://nsf.gov/funding/preparing-proposals: Failed to fetch https://nsf.gov/funding/preparing-proposals: HTTP 404
- https://nsf.gov/funding/submission-methods: Failed to fetch https://nsf.gov/funding/submission-methods: HTTP 404
- https://nsf.gov/funding/postdoctoral-fellows: Failed to fetch https://nsf.gov/funding/postdoctoral-fellows: HTTP 404
- https://nsf.gov/funding/small-business: Failed to fetch https://nsf.gov/funding/small-business: HTTP 404
- https://nsf.gov/funding/initiatives/nairr: Failed to fetch https://nsf.gov/funding/initiatives/nairr: HTTP 404
- https://nsf.gov/funding/initiatives/chips-science: Failed to fetch https://nsf.gov/funding/initiatives/chips-science: HTTP 404
- https://nsf.gov/bfa/dias/policy/pappg: Failed to fetch https://nsf.gov/bfa/dias/policy/pappg: HTTP 404
- https://nsf.gov/bfa/dias/policy/sampling-plans: Failed to fetch https://nsf.gov/bfa/dias/policy/sampling-plans: HTTP 404
- https://nsf.gov/about/section-508: Failed to fetch https://nsf.gov/about/section-508: HTTP 404
- https://nsf.gov/policies/linking: Failed to fetch https://nsf.gov/policies/linking: HTTP 404
- https://nsf.gov/policies/disclaimer: Failed to fetch https://nsf.gov/policies/disclaimer: HTTP 404
- https://nsf.gov/policies/copyright: Failed to fetch https://nsf.gov/policies/copyright: HTTP 404
- https://nsf.gov/policies/quality-standards: Failed to fetch https://nsf.gov/policies/quality-standards: HTTP 404
- https://nsf.gov/resources/assets/js/pages/statistics/statistics.concat.js: Failed to fetch https://nsf.gov/resources/assets/js/pages/statistics/statistics.concat.js: HTTP 404
- https://nsf.gov/resources/assets/js/core/analytics.js: Failed to fetch https://nsf.gov/resources/assets/js/core/analytics.js: HTTP 404
- https://nsf.gov/resources/assets/css/pages/statistics/bootstrap.min.css: Failed to fetch https://nsf.gov/resources/assets/css/pages/statistics/bootstrap.min.css: HTTP 404
- https://ncses.nsf.gov/data-tools: Failed to fetch https://ncses.nsf.gov/data-tools: HTTP 404
[HIGH] Uses JavaScript optional chaining
- Type: too-new
- Location: https://ncses.nsf.gov/resources/assets/js/core/analytics.js:328
- 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://ncses.nsf.gov/resources/assets/js/pages/statistics/statistics.concat.js:22
- 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://ncses.nsf.gov/resources/assets/js/pages/statistics/statistics.concat.js:45
- 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://ncses.nsf.gov/resources/assets/js/pages/indicators/home.js:4
- 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://ncses.nsf.gov/resources/assets/js/pages/statistics/statistics.concat.js:2
- 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://ncses.nsf.gov/resources/assets/css/pages/statistics/bootstrap.min.css
Code Quality Scores
- Performance: 76/100 ⚠️
- Maintainability: 80/100 ⚠️
- Complexity: 74/100 ⚠️
Quality Violations
DeclarationDuplications: score impact 6TooMuchComments: score impact 1TooMuchEmbeddedContent: score impact 17MaxSelectorsPerRule: score impact 1MaxDeclarationsPerRule: score impact 8MoreThanMostCommonSelectorsPerRule: score impact 3MoreThanMostCommonDeclarationsPerRule: score impact 8MoreThanMostCommonSelectorComplexity: score impact 9MoreThanMostCommonSelectorSpecificity: score impact 9MaxSelectorComplexity: score impact 5ImportantRatio: score impact 3
Complexity Metrics
- Source lines of code: 6992
- Stylesheet complexity: 19206
- Total rules: 2288
- Total selectors: 2799
- Total declarations: 4091
!importantdeclarations: 1279- Max selector specificity: 0,7,0
Design Tokens
- Custom properties (CSS variables): 36 unique
- --bs-blue, --bs-indigo, --bs-purple, --bs-pink, --bs-red, --bs-orange, --bs-yellow, --bs-green, --bs-teal, --bs-cyan, --bs-white, --bs-gray, --bs-gray-dark, --bs-primary, --bs-secondary, --bs-success, --bs-info, --bs-warning, --bs-danger, --bs-light, --bs-dark, --bs-font-sans-serif, --bs-font-monospace, --bs-gradient, --bs-gutter-x, --bs-gutter-y, --bs-table-bg, --bs-table-accent-bg, --bs-table-striped-color, --bs-table-striped-bg, --bs-table-active-color, --bs-table-active-bg, --bs-table-hover-color, --bs-table-hover-bg, --bs-position, --bs-aspect-ratio
- Colors: 158 unique
- #0d6efd, #6610f2, #6f42c1, #d63384, #dc3545, #fd7e14, #ffc107, #198754, #20c997, #0dcaf0, #fff, #6c757d, #343a40, #f8f9fa, #212529, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0), transparent, currentcolor, #fcf8e3, #0a58ca, #dee2e6, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.1), rgba(0, 0, 0, 0.075), #cfe2ff, #c5d7f2, #000, #bacbe6, #bfd1ec, #e2e3e5, #d7d8da, #cbccce, #d1d2d4, #d1e7dd, #c7dbd2, #bcd0c7, #c1d6cc, #cff4fc, #c5e8ef, #badce3, #bfe2e9, #fff3cd, #f2e7c3, #e6dbb9, #ece1be, #f8d7da, #eccccf, #dfc2c4, #e5c7ca, #ecedee, #dfe0e1, #e5e6e7, #2c3034, #373b3e, #323539, #ced4da, #86b7fe, rgba(13,110,253,.25), #e9ecef, #dde0e3, rgba(0,0,0,.25), #b6d4fe, #adb5bd, rgba(25,135,84,.9), rgba(25,135,84,.25), rgba(220,53,69,.9), rgba(220,53,69,.25), #0b5ed7, rgba(49,132,253,.5), #0a53be, #5c636a, #565e64, rgba(130,138,145,.5), #51585e, #157347, #146c43, rgba(60,153,110,.5), #13653f, #31d2f2, #25cff2, rgba(11,172,204,.5), #3dd5f3, #ffca2c, #ffc720, rgba(217,164,6,.5), #ffcd39, #bb2d3b, #b02a37, rgba(225,83,97,.5), #a52834, #f9fafb, rgba(211,212,213,.5), #1c1f23, #1a1e21, rgba(66,70,73,.5), #191c1f, rgba(13,110,253,.5), rgba(108,117,125,.5), rgba(25,135,84,.5), rgba(13,202,240,.5), rgba(255,193,7,.5), rgba(220,53,69,.5), rgba(248,249,250,.5), rgba(33,37,41,.5), rgba(0,0,0,.15), #1e2125, rgba(255,255,255,.15), #495057, rgba(0,0,0,.9), rgba(0,0,0,.55), rgba(0,0,0,.7), rgba(0,0,0,.3), rgba(0,0,0,.1), rgba(255,255,255,.55), rgba(255,255,255,.75), rgba(255,255,255,.25), rgba(255,255,255,.1), rgba(0,0,0,.125), rgba(0,0,0,.03), #0c63e4, #e7f1ff, #084298, #06357a, #41464b, #d3d6d8, #34383c, #0f5132, #badbcc, #0c4128, #055160, #b6effb, #04414d, #664d03, #ffecb5, #523e02, #842029, #f5c2c7, #6a1a21, #636464, #fefefe, #fdfdfe, #4f5050, #141619, #d3d3d4, #bcbebf, #101214, #e5e5e5, #bebebf, rgba(255,255,255,.85), rgba(0,0,0,.05), rgba(0,0,0,.2), #f0f0f0, #d8d8d8, rgba(0,0,0,.075), rgba(0,0,0,.175), rgba(0,0,0,.5), rgba(255,255,255,.5)
- Font families: 2 unique
- var(--bs-font-sans-serif), var(--bs-font-monospace)
- Font sizes: 25 unique
- 1rem, calc(1.375rem + 1.5vw), 2.5rem, calc(1.325rem + .9vw), 2rem, calc(1.3rem + .6vw), 1.75rem, calc(1.275rem + .3vw), 1.5rem, 1.25rem, .875em, .75em, 1em, calc(1.625rem + 4.5vw), 5rem, calc(1.575rem + 3.9vw), 4.5rem, calc(1.525rem + 3.3vw), 4rem, calc(1.475rem + 2.7vw), 3.5rem, calc(1.425rem + 2.1vw), 3rem, .875rem, .75rem
- Z-index values: 13 unique
- 0, 1, 2, 3, 5, 1000, 1020, 1030, 1040, 1050, 1060, 1070, 1080