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.
Single or multi-expand disclosures with managed aria-expanded state.
Native details/summary is recommended for simpler disclosure. The advanced accordion script is optional.
A browser-native, namespaced interface framework.
No. Deploy the compiled CSS and optional JavaScript.
Yes. Include the assets in any HTML response.
<div class="xsh-accordion"><details open><summary>What is Xshna.css?</summary><p>A browser-native, namespaced interface framework.</p></details><details><summary>Does hosting need Node.js?</summary><p>No. Deploy the compiled CSS and optional JavaScript.</p></details><details><summary>Can I use this with PHP?</summary><p>Yes. Include the assets in any HTML response.</p></details></div>Use xsh-accordion, xsh-accordion-trigger and xsh-accordion-panel; data-xsh-single enforces one panel at a time.
<div class="xsh-accordion" data-xsh-single>
<section class="xsh-accordion-item"><h3><button class="xsh-accordion-trigger" aria-expanded="true" aria-controls="xsh-acc-one">Does it require Node.js?</button></h3><div class="xsh-accordion-panel" id="xsh-acc-one">No. Upload prebuilt CSS and optional vanilla JavaScript.</div></section>
<section class="xsh-accordion-item"><h3><button class="xsh-accordion-trigger" aria-expanded="false" aria-controls="xsh-acc-two">Does it work on shared hosting?</button></h3><div class="xsh-accordion-panel" id="xsh-acc-two" hidden>Yes. No server-side runtime is required.</div></section>
</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.
These selectors exist in the current distribution. An entry in this table does not imply that arbitrary modifier combinations are meaningful; use the examples above for the intended composition.
| Class | Purpose | Delivery |
|---|---|---|
.xsh-accordion | Core component | CSS + optional behavior |
.xsh-accordion-item | Composable modifier / structure class | CSS + optional behavior |
.xsh-accordion-panel | Composable modifier / structure class | CSS + optional behavior |
.xsh-accordion-trigger | Composable modifier / structure class | CSS + optional behavior |
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.