Update structure to separate a11y features

For demo purposes, I want all a11y code (JS and theme functions)
separated out, for easier presentation and scannability.