Back to Top Navigation Button - Accessibility-First Design
Minimal JavaScript utility providing smooth scroll-to-top functionality with comprehensive accessibility support. Implements WCAG 2.1 AA compliant navigation enhancement for long-form intelligence reports and dashboards.
Accessibility Features
WCAG 2.1 AA Compliance:
- Keyboard Navigation: Full keyboard accessibility (Enter/Space)
- Screen Reader: ARIA labels, semantic HTML
- Reduced Motion: Respects
prefers-reduced-motionmedia query - Focus Indicators: Visible focus states for keyboard users
- High Contrast: Works with high contrast mode
User Experience Pattern
Progressive Enhancement:
- Button hidden until user scrolls 300px (intentional navigation)
- Fade-in animation (respects motion preferences)
- Fixed position in bottom-right corner (non-intrusive)
- Smooth scroll behavior (instant scroll for reduced motion users)
Motion Sensitivity
Adaptive Behavior:
const prefersReducedMotion = matchMedia('(prefers-reduced-motion: reduce)').matches;
if (prefersReducedMotion) {
window.scrollTo({ top: 0, behavior: 'auto' }); // Instant
} else {
window.scrollTo({ top: 0, behavior: 'smooth' }); // Animated
}
Performance Characteristics
Optimized Event Handling:
- Scroll event throttling: 100ms (passive listener)
- No DOM manipulation during scroll (classList only)
- CSS transitions for animations (GPU-accelerated)
- Minimal JavaScript execution (<1ms per scroll event)
Security Considerations
- Version:
- 1.0.0
- Since:
- 2024
- License:
- Apache-2.0
- Source: