Phần tử <dialog> mở được ở hai chế độ:
showModal()— mở dạng modal: đưa dialog lên top layer, có pseudo-element::backdropphủ nền, bẫy focus trong dialog, nhấn Esc để đóng, và phần nền trở nên inert (không tương tác được).show()— mở dạng non-modal: không có backdrop, không bẫy focus, không đóng bằng Esc; nền vẫn tương tác bình thường (kiểu popover cạnh nội dung).
close([value]) đóng dialog ở cả hai chế độ và có thể gán returnValue; nút <button> trong <form method="dialog"> cũng tự đóng và ghi giá trị.
js
dlg.showModal() // modal + backdrop + focus trap
dlg.close("ok") // đóng, dlg.returnValue === "ok"