Tab: fix aria-controls
When porting, I thought I was being clever by just using ids instead of refs in $api.panels But I didn't notice that the refs let you distinguish those panels which are rendered from those which are not. My implementation had aria-controls= set for all tabs, even when their panels were not in the DOM.
This commit is contained in:
@@ -87,11 +87,12 @@
|
||||
$api.setSelectedIndex(myIndex);
|
||||
}
|
||||
|
||||
$: myPanelRef = $api.panels[myIndex]?.ref;
|
||||
$: propsWeControl = {
|
||||
id,
|
||||
role: "tab",
|
||||
type: resolveButtonType({ type: $$props.type, as }, tabRef),
|
||||
"aria-controls": $api.panels[myIndex],
|
||||
"aria-controls": $myPanelRef ? $api.panels[myIndex]?.id : undefined,
|
||||
"aria-selected": selected,
|
||||
tabIndex: selected ? 0 : -1,
|
||||
disabled: disabled ? true : undefined,
|
||||
|
||||
Reference in New Issue
Block a user