aria-labelledby: заголовок модалки из DOM
dialog и drawer без дублирования.
`<section role="dialog" aria-labelledby="modal-title">` + `<h2 id="modal-title">` — имя диалога берётся из видимого заголовка.
Если заголовок визуально скрыт, оставьте его в DOM с классом sr-only, не пустой aria-label поверх пустого h2.
- aria-labelledby — MDN — Связь с подписью.
- Dialog pattern — APG — Модальный диалог.
Нативный dialog
У `<dialog>` имя часто достаточно из `<legend>` или первого heading — сверяйтесь с accessibility tree в DevTools.