Ai-design-components implementing-navigation
Implements navigation patterns and routing for both frontend (React/TS) and backend (Python) including menus, tabs, breadcrumbs, client-side routing, and server-side route configuration. Use when building navigation systems or setting up routing.
git clone https://github.com/ancoleman/ai-design-components
T=$(mktemp -d) && git clone --depth=1 https://github.com/ancoleman/ai-design-components "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/implementing-navigation" ~/.claude/skills/ancoleman-ai-design-components-implementing-navigation && rm -rf "$T"
skills/implementing-navigation/SKILL.mdNavigation Patterns & Routing Implementation
Purpose
This skill provides comprehensive guidance for implementing navigation systems across both frontend and backend applications. It covers client-side navigation patterns (menus, tabs, breadcrumbs) and routing (React Router, Next.js) as well as server-side route configuration (Flask, Django, FastAPI).
When to Use
Use this skill when:
- Building primary navigation (top, side, mega menus)
- Implementing secondary navigation (breadcrumbs, tabs, pagination)
- Setting up client-side routing (React Router, Next.js)
- Configuring server-side routes (Flask, Django, FastAPI)
- Creating mobile navigation patterns (hamburger, bottom nav)
- Implementing keyboard-accessible navigation
- Building command palettes or search-driven navigation
- Creating multi-step wizards or steppers
- Ensuring WCAG 2.1 AA compliance for navigation
Navigation Decision Framework
Information Architecture → Navigation Pattern Flat (1-2 levels) → Top Navigation Deep (3+ levels) → Side Navigation E-commerce/Large → Mega Menu Linear Process → Stepper/Wizard Long Content → Table of Contents Power Users → Command Palette Multi-section Page → Tabs Large Data Sets → Pagination
Frontend Navigation Components
Primary Navigation Patterns
Top Navigation (Horizontal)
- Best for shallow hierarchies, marketing sites
- 5-7 primary links maximum for cognitive load
- See
for implementationreferences/menu-patterns.md
Side Navigation (Vertical)
- Best for deep hierarchies, admin panels, dashboards
- Supports multi-level nesting and collapsible sections
- See
for sidebar patternsreferences/menu-patterns.md
Mega Menu
- Best for e-commerce, content-heavy sites
- Rich content with images and descriptions
- See
for mega menu structurereferences/menu-patterns.md
Secondary Navigation Components
Breadcrumbs
- Shows hierarchical path and current location
- Essential for deep sites and e-commerce
- See
for breadcrumb patternsreferences/navigation-components.md
Tabs
- Content switching without page reload
- URL synchronization for bookmarking
- See
for tab implementationreferences/navigation-components.md
Pagination
- For search results, product lists, articles
- Consider virtualization for performance
- See
for pagination patternsreferences/navigation-components.md
Client-Side Routing
React Router (Industry Standard)
- Type-safe routing with loader patterns
- Nested routes and lazy loading support
- See
for React Router patternsreferences/client-routing.md
Next.js App Router
- File-based routing with RSC support
- Parallel and intercepting routes
- See
for Next.js routingreferences/client-routing.md
Backend Routing Patterns
Python Web Frameworks
Flask
- Blueprint-based organization
- Route decorators and URL rules
- See
for Flask patternsreferences/flask-routing.md
Django
- URL configuration with namespaces
- Path converters and regex patterns
- See
for Django URL confreferences/django-urls.md
FastAPI
- Router-based organization
- Path operations and dependencies
- See
for FastAPI routersreferences/fastapi-routing.md
Mobile Navigation
Patterns for Touch Devices
Hamburger Menu
- Slide-out drawer for primary navigation
- See
for mobile drawerreferences/menu-patterns.md
Bottom Navigation
- 3-5 primary actions, thumb-friendly
- See
for bottom navreferences/menu-patterns.md
Tab Bar
- Horizontal scrollable tabs with swipe
- Natural for mobile-first applications
Accessibility Requirements
Keyboard Navigation
Tab → Move forward through links Shift+Tab → Move backward through links Enter → Activate link/button Space → Activate button Arrow keys → Navigate within menus Escape → Close dropdowns/modals
ARIA Patterns
Essential ARIA attributes for accessible navigation:
- See
for complete ARIA patternsreferences/accessibility-navigation.md - Includes landmark roles, states, and properties
- Screen reader optimization techniques
Focus Management
- Visible focus indicators (2px minimum, 3:1 contrast)
- Focus trap for modals and dropdowns
- Skip navigation link for keyboard users
- See
for focus patternsreferences/accessibility-navigation.md
Implementation Utilities
Navigation Structure Management
Generate and validate navigation trees:
# Validate navigation structure node scripts/validate_navigation_tree.js nav-config.json # Generate breadcrumb trails node scripts/calculate_breadcrumbs.js current-path
Route Generation (Python)
Generate route configurations:
# Generate Flask/Django/FastAPI routes python scripts/generate_routes.py --framework flask --config routes.yaml
Code Examples
Frontend Examples
For working navigation implementations:
- Responsive top navigationexamples/horizontal-menu.tsx
- Tabs with URL syncexamples/tab-navigation.tsx
- Hamburger and drawerexamples/mobile-navigation.tsx
Backend Examples
For routing configuration:
- Flask blueprint setupexamples/flask_routes.py
- Django URL patternsexamples/django_urls.py
- FastAPI router organizationexamples/fastapi_routes.py
Navigation Configuration
For complex navigation structures, use the configuration schema:
- Navigation tree schemaassets/navigation-config-schema.json
- Common route patternsassets/route-templates.json
Validate configurations before implementation using the validation script.
Library Recommendations
Frontend Routing
React Router is the recommended solution for React applications:
- Industry standard with excellent TypeScript support
- Built-in accessibility with NavLink active states
- See
for alternativesreferences/library-comparison.md
Component Libraries
For rapid development, consider:
- Headless UI libraries (Radix UI, React Aria)
- Accessible by default
- Work with any styling approach
Progressive Enhancement
Build navigation that works without JavaScript:
- Server-rendered HTML navigation
- Progressive enhancement with client-side routing
- Fallback for JavaScript failures
Performance Considerations
- Lazy load route components
- Prefetch navigation targets
- Use route-based code splitting
- Implement loading states for navigation
Testing Navigation
Essential navigation tests:
- Keyboard navigation flow
- Screen reader announcements
- Mobile touch interactions
- Route parameter validation
- Deep linking functionality
Next Steps
- Analyze the information architecture
- Select appropriate navigation pattern
- Implement with accessibility first
- Add progressive enhancement
- Test across devices and assistive technologies
For detailed implementation guides, explore the referenced documentation files based on specific requirements.