@kysnrm (Ryota MORIOKA)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

アコーディオンメニューにおける条件付きレンダーについて

解決したいこと

Page Speed Insightにおける「過大なDOMサイズの回避」のために、子要素を条件付きレンダーするアコーディオンメニューを作成しようとしています。
子要素のdisplayを切り替えることで表示を切り替えるケースが多く見られますが、条件付きレンダーによる実装はアクセシビリティやパフォーマンス上の問題がありますか?

該当するソースコード

サンプルコードはSvelteで記載しています。

<script lang="ts">
    export let isExpanded: boolean = false;
</script>

// 普通はこう

<div aria-expanded={isExpanded} aria-control="target">
    foo
</div>
<div
    id="target"
    aria-hidden={!isExpanded}
    style:display={isExpanded ? 'block' : 'hidden'}
>
    bar
</div>

// これはあり?

<div aria-expanded={isExpanded} aria-control="target">
    foo
</div>
{#if isExpanded}
    <div id="target">
        bar
    </div>
{/if}
0 likes

No Answers yet.

Your answer might help someone💌