Modern Bootstrap 3.3.6 overrides for ServiceNow Service Portal — better performance, accessibility (WCAG AAA targeted), and modern CSS while remaining fully drop-in compatible.
ServiceNow bakes in Bootstrap 3.3.6, making upgrades risky for legacy components. SnowBoots layers modern enhancements on top without replacing the framework.
| File | Version | Purpose |
|---|---|---|
snowboots-core-overrides.scss |
0.1.0 | Layout polish, CSS variables, component enhancements |
snowboots-a11y.scss |
0.2.0 | WCAG-focused overrides: contrast, focus, motion, touch targets |
examples/wcag-litmus-test-widget.html |
0.2 | Manual test harness with fixtures for all CSS-remediated issues |
research/master-list.tsv |
— | 180-issue accessibility backlog with remediation tracking |
Load core first, then a11y, both after Bootstrap in your Theme CSS Includes.
- Post-processing SCSS overrides with
html bodyspecificity - CSS custom properties for theming
- Layout and component polish for common portal patterns
34 of 180 tracked issues are remediated purely via CSS:
| Section | Issues | Coverage |
|---|---|---|
| Color contrast tokens & overrides | #1–#20 | Buttons, alerts, labels, tables, nav, forms, charts |
| Enhanced focus indicators | #21–#24, #34, #35, #40 | :focus-visible with outline + box-shadow fallback |
| Touch targets & form controls | #70 | 44×44px minimum on buttons, inputs, checkbox/radio labels |
| Reduced motion & typography | #111, #113, #117, #120 | prefers-reduced-motion, rem-based scaling |
| Widget-scoped overrides | #146, #156 | .widget form controls and buttons |
Issues #21, #23, #24, #40, and #111 were remediated in v0.1; v0.2.0 adds the remaining 29 CSS-addressable fixes.
Not covered by CSS alone: 119 issues in research/master-list.tsv still require widget HTML changes, client scripts, or ServiceNow platform configuration. See the RemediationPath and RemediationAssessment columns for per-issue guidance.
- Download
snowboots-core-overrides.scssandsnowboots-a11y.scss - Create Style Sheet records in your ServiceNow instance
- Add both to your Portal Theme → CSS Includes (after Bootstrap; a11y after core)
- Clear cache (
cache.do) and verify in your portal - Detailed instructions →
Use the WCAG Litmus Test Widget to validate remediated issues:
- Open the page locally (or deploy as a Service Portal widget)
- Confirm Bootstrap 3.3.6 + both SnowBoots style sheets are loaded
- Work through each
#issue-NNsection — acceptance criteria and test steps are inline - Run axe DevTools / WAVE on contrast sections; tab through focus sections; emulate prefers-reduced-motion in DevTools for motion checks
SnowBoots/
├── snowboots-core-overrides.scss # Core theme overrides
├── snowboots-a11y.scss # Accessibility layer (v0.2.0)
├── examples/
│ └── wcag-litmus-test-widget.html
├── research/
│ ├── master-list.tsv # Canonical 180-issue backlog
│ └── *.tsv # Source issue batches
└── docs/
└── installation.md
- ServiceNow Tokyo / Utah / Vancouver / Washington DC+ (Bootstrap 3.3.6)
- Tested against common portal widgets via the litmus harness
- Core overrides MVP (v0.1.0)
- a11y layer — all CSS-addressable issues (v0.2.0, 34 issues)
- Issue backlog + litmus test harness
- Widget HTML / client script fixes for remaining JS/ServiceNow issues
- npm package and automated contrast/regression tests
See CONTRIBUTING.md. Issue IDs in research/master-list.tsv map to commit messages — use fix(a11y): remediate issue #NN or test(litmus): add fixture for issue #NN when submitting changes.
MIT — feel free to use and adapt in your instances.