Semantic structure
Use the documented Xshna classes with semantic HTML rather than replacing native elements unnecessarily.
Compose existing xsh- classes on the appropriate HTML element. Keep content order meaningful when CSS is disabled.
Operational checklist for caching, CSP, security, accessibility and repeatable delivery.
Self-host versioned assets, set cache headers, configure CSP, avoid mixing debug bundles, run tests, check contrast and keyboard access, and publish checksums.
Serve xshna.min.css and xshna.min.js with filename versioning and immutable cache headers.
<div class="xsh-stack"><div class="xsh-alert" data-xsh-variant="info"><div class="xsh-alert-content"><strong>Recommended distribution</strong><p>Serve xshna.min.css and xshna.min.js with filename versioning and immutable cache headers.</p></div></div><button class="xsh-btn xsh-btn-secondary">Deployment checklist</button></div>Customize this component through --xsh-* CSS tokens, data-xsh-* configuration attributes and documented xsh-* utilities. Use the optional JavaScript distribution only when an interactive behavior is needed.
| Surface | Source of truth | What to check |
|---|---|---|
dist/xshna.min.css | Compiled framework | Styling and responsive behavior |
dist/xshna.min.js | Optional interactions | Lifecycle, event handling and teardown |
src/css/ | Readable source | Public class names and token definitions |
src/contracts/ | Published component contracts where available | State, configuration and behavioral support |
Use the documented Xshna classes with semantic HTML rather than replacing native elements unnecessarily.
Compose existing xsh- classes on the appropriate HTML element. Keep content order meaningful when CSS is disabled.
Verify focus order, disabled behavior and descriptive labels for interactive patterns.
Load xshna.min.js only if the documented interaction needs it. Your application remains responsible for data, persistence and business rules.
Test narrow containers, long translations and user-defined text sizes.
Test 320px-wide viewports, container-constrained instances, keyboard zoom, longer translations and right-to-left text where relevant.
Use --xsh-* CSS variables for theme values and data-xsh-design / data-xsh-density on the xsh-app root.
Prefer design tokens over hard-coded overrides so components remain coherent across personalities.