Skip to content

Commit e6ea9f5

Browse files
committed
fix: omit aria-expanded from empty folders
1 parent 3cfb143 commit e6ea9f5

File tree

1 file changed

+6
-1
lines changed

1 file changed

+6
-1
lines changed

packages/svelte-file-tree/src/lib/components/TreeItem/TreeItem.svelte

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import type { EventHandler } from "svelte/elements";
66
import { getTreeItemProviderContext } from "../Tree/TreeItemProvider.svelte";
77
import type { TreeItemPosition } from "../Tree/state.svelte.js";
8+
import type { TreeItemState } from "../Tree/types.js";
89
import { createDragState } from "./state.svelte.js";
910
import type { TreeItemChildrenSnippetArgs, TreeItemProps } from "./types.js";
1011
@@ -21,6 +22,10 @@
2122
2223
return getContext(CONTEXT_KEY);
2324
}
25+
26+
function hasChildren(item: TreeItemState): boolean {
27+
return item.node.type === "folder" && item.node.children.length !== 0;
28+
}
2429
</script>
2530

2631
<script lang="ts">
@@ -407,7 +412,7 @@
407412
id={treeState.getItemElementId(item().node.id)}
408413
role="treeitem"
409414
aria-selected={item().selected()}
410-
aria-expanded={item().node.type === "folder" ? item().expanded() : undefined}
415+
aria-expanded={hasChildren(item()) ? item().expanded() : undefined}
411416
aria-level={item().depth + 1}
412417
aria-posinset={item().index + 1}
413418
aria-setsize={item().parent?.node.children.length ?? treeState.tree().children.length}

0 commit comments

Comments
 (0)