A static website for Specialised Assistive Technology Services in England, providing information about Augmentative and Alternative Communication (AAC) and Environmental Control (EC) services commissioned by NHS England.
This is a single-page Vue.js application that serves as an information hub for assistive technology services across England. The site features:
- Service Finder: Quick access to the Ace Centre Service Finder
- Specialised AAC Services: Resources and information about Augmentative and Alternative Communication services
- Local AAC: Resources for home learning and education
- AAC Services Directory: Complete listing of AAC services across England
- EC Services Directory: Complete listing of Environmental Control services across England
- Vue 3 - Progressive JavaScript framework
- Vite 5 - Build tool and development server
- Plain CSS - Custom styling with CSS variables
- JSON - Content stored in structured data files
assistivetechnology.org.uk/
├── src/
│ ├── App.vue # Main application component
│ ├── main.js # Application entry point
│ ├── assets/
│ │ ├── main.css # Global styles and design system
│ │ └── IMG_8548-scaled.jpg
│ └── data/ # Content data files (JSON)
│ ├── tabs.json # Navigation tabs configuration
│ ├── resourceSections.json # Resource sections and cards
│ ├── aacServices.json # AAC services directory
│ ├── ecServices.json # EC services directory
│ └── serviceHighlights.json
├── index.html # HTML entry point
├── vite.config.js # Vite configuration
└── package.json # Dependencies and scripts
- Node.js 18+ (for Vite 5)
- npm or yarn
- Clone the repository:
git clone <repository-url>
cd assistivetechnology.org.uk- Install dependencies:
npm install- Start the development server:
npm run devThe site will be available at http://localhost:8080
npm run dev- Start development server (port 8080)npm run build- Build for production (outputs todist/)npm run preview- Preview production build locally
All content is stored in JSON files within src/data/, making it easy to update without touching Vue code:
Edit src/data/tabs.json to add, remove, or modify navigation tabs. Each tab can include:
id: Unique identifierlabel: Display textdescription: Used for overview cards (optional)
Edit src/data/resourceSections.json to modify resource sections. Each section can have:
id: Unique identifier matching a tabtitle: Section headingdescription: Optional section descriptioncards: Array of resource cards with title, description, image, and href
src/data/aacServices.json- List of AAC service linkssrc/data/ecServices.json- List of EC service links
Each service entry requires:
label: Service namehref: Service URL
- Skip to main content link
- ARIA labels and roles for screen readers
- Keyboard navigation support for tabs
- Focus management
- Semantic HTML structure
- Responsive layout with mobile-first approach
- CSS custom properties for theming
- Alternating card colors (AAC orange / EC slate)
- Sticky tab navigation
- Hero section with NHS branding
- Hash-based routing (no router library needed)
- Tab navigation with keyboard support (Arrow keys, Home, End)
- URL hash updates for bookmarkable sections
- Primary navigation in hero section
npm run buildThis creates an optimized production build in the dist/ directory that can be deployed to any static hosting service (e.g., Netlify, Vercel, GitHub Pages, or a traditional web server).
Modern browsers that support:
- ES6+ JavaScript
- CSS Grid and Flexbox
- CSS Custom Properties (CSS Variables)
See LICENSE file for details.
Content updates should be made to the JSON files in src/data/. Code changes should follow the existing patterns and maintain accessibility standards.