Tree
Examples for the ss-c-tree module and TreeViewManager: a WAI-ARIA tree built from nested lists. The manager adds role="tree|treeitem|group", aria-expanded and a roving tabindex, and handles the arrow keys, Home/End, Enter, Space, * and type-ahead. Authoring the roles up front, as here, avoids a flash of an unstructured list; branches marked aria-expanded="false" stay collapsed without the script.
IFC model tree
-
IfcProject: Harbour bridge
-
IfcSite: Kop van Zuid
-
IfcBridge: Main span
- IfcBeam (24)
- IfcColumn (8)
- IfcBuildingStorey: Deck
- IfcAnnotation: Survey points
-
IfcBridge: Main span
-
IfcSite: Kop van Zuid
HTML
<ul role="tree" class="ss-c-tree" data-ss="tree" aria-label="Model structure">
<li role="treeitem" aria-expanded="true">
<span class="ss-c-tree__label">IfcProject: Harbour bridge</span>
<ul role="group">
<li role="treeitem" aria-expanded="true">
<span class="ss-c-tree__label">IfcSite: Kop van Zuid</span>
<ul role="group">
<li role="treeitem" aria-expanded="false">
<span class="ss-c-tree__label">IfcBridge: Main span</span>
<ul role="group">
<li role="treeitem"><span class="ss-c-tree__label">IfcBeam (24)</span></li>
<li role="treeitem"><span class="ss-c-tree__label">IfcColumn (8)</span></li>
</ul>
</li>
<li role="treeitem" aria-selected="true"><span class="ss-c-tree__label">IfcBuildingStorey: Deck</span></li>
<li role="treeitem"><span class="ss-c-tree__label">IfcAnnotation: Survey points</span></li>
</ul>
</li>
</ul>
</li>
</ul>
Guide lines and links
-
src
- scss
- ts
- README.md
HTML
<ul role="tree" class="ss-c-tree ss-c-tree--lines" data-ss="tree" aria-label="Files">
<li role="treeitem" aria-expanded="true">
<span class="ss-c-tree__label">src</span>
<ul role="group">
<li role="treeitem" aria-expanded="true">
<span class="ss-c-tree__label">scss</span>
<ul role="group">
<li role="treeitem"><span class="ss-c-tree__label"><a href="#index-scss">index.scss</a></span></li>
<li role="treeitem"><span class="ss-c-tree__label"><a href="#tokens">_tokens.scss</a></span></li>
</ul>
</li>
<li role="treeitem" aria-expanded="false">
<span class="ss-c-tree__label">ts</span>
<ul role="group">
<li role="treeitem"><span class="ss-c-tree__label"><a href="#index-ts">index.ts</a></span></li>
</ul>
</li>
</ul>
</li>
<li role="treeitem"><span class="ss-c-tree__label"><a href="#readme">README.md</a></span></li>
</ul>