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.
Actionable source diagnostics. Practical engineering and integration guidance for serious commercial applications.
Doctor parses pasted or imported HTML using DOMParser without executing the supplied scripts. Checks include missing image alt attributes, unnamed buttons and links, unlabeled controls, duplicate IDs, broken ARIA target relationships, invalid Xshna tab structure, dialog labels, SVG accessibility treatment, heading-level jumps and unrecognized legacy namespace patterns.
Static markup may not include labels, controls or IDs inserted by an application after page load. Conversely, a DOM that passes static checks can remain inaccessible. Doctor cannot inspect focus order, visual contrast, real click targets, dynamic element positioning, browser-native form behavior or screen reader announcements from pasted HTML alone.
Export the JSON report and attach it to application code review. Resolve errors first; warnings and information-level notes require developer judgment. Follow with axe-core, browser accessibility trees, keyboard-only navigation, zoom/reflow tests and manual assistive-technology coverage.
Imported markup is parsed inertly. Doctor does not inject it into the live document or fetch third-party URLs; findings are shown using textContent. The tool has no analytics and the user decides whether to export their local report.
| 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.