Module: UIUtilities/NavigationEnhancement

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-motion media 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
Author:
  • Hack23 AB - UX Engineering
License:
  • Apache-2.0
Source: