fix VoiceOver by making hidden panes display: none

This commit is contained in:
Rhiannon Morris 2024-09-26 00:25:59 +02:00
parent 44993d86f7
commit 25b5314f7e

View file

@ -261,8 +261,19 @@ namespace Flat {
export function fadeTo(newPane: Pane): void { export function fadeTo(newPane: Pane): void {
for (const pane of allPanes) { for (const pane of allPanes) {
const here = pane == newPane; const here = pane == newPane;
document.getElementById(pane)!.dataset.selected = `${here}`; const elem = document.getElementById(pane)!;
if (here) { history.replaceState(null, '🦎', `#${pane}`); } if (here) {
elem.style.display = 'unset';
setTimeout(() => {
elem.dataset.selected = 'true';
history.replaceState(null, '🦎', `#${pane}`);
});
} else if (elem.dataset.selected == 'true') {
elem.addEventListener('transitionend',
() => elem.style.display = 'none',
{once: true});
elem.dataset.selected = 'false';
}
} }
} }
@ -294,6 +305,10 @@ function setup(): void {
Cube.instantMoveTo(pane); Cube.instantMoveTo(pane);
Flat.fadeTo(pane); Flat.fadeTo(pane);
box.checked = true; box.checked = true;
} else {
const elem = document.getElementById(pane)!;
elem.dataset.selected = 'false';
elem.style.display = 'none';
} }
} }
} }