Semantic HTML first
Wexa styles tags directly. No .btn, no .container, no utility class soup — your markup stays readable.
Wexa styles tags directly. No .btn, no .container, no utility class soup — your markup stays readable.
Every color, size and spacing is a variable. Redefine a handful and the whole design follows — themes included.
Your CSS wins over wexa defaults automatically. No !important, no specificity fights — just write your rules.
Light, dark and contrast modes. Skip links, ARIA roles, keyboard navigation — from the ground up, not as an afterthought.
Import only what you need. Or use the single-file bundle for offline and file:// environments. No build step.
A full accessible presentation framework. Keyboard control, handout and memo modes, themes — runs in any browser.
The documentation does not just describe the framework — it uses it. The side navigation, the cards above, the accessibility controls in the header, the themes/colors/contrast toggle: all of it is Whakerexa, with no custom JavaScript beyond initialization and no CSS written for this page alone.
Each page in the docs is a live example. Open its HTML source and you see exactly how it is done.
What you are looking at right now:
menu.css + MenuManagerlayout.css cards-panelwexa.css @layerAccessibilityManagerThemeManagerbutton.css .cta-button<link rel="stylesheet" href="wexa_statics/css/wexa.css"> and whichever extras you need.
Need more? See the Quick start or browse individual component pages from the menu.
Modules (wexa.js) require an HTTP server — run python -m http.server 8000
then open http://localhost:8000/.
The bundle (wexa.bundle.js) works directly from disk on file://.
This index auto-loads the right one.