Frontory

코드 편집 · 실습 · 필기 열기 →

HTML · 17 dialog와 모달 흐름

시리즈 목차 · 전체 기술 지도

단계: 네이티브 UI와 미디어 · 편집 가능한 예제 · 저장 ID: html-step-17

목표와 학습 후 역량

선수 지식

16단위 「details로 접히는 목차」의 결과물과 실험 기록

핵심 개념과 설명

모달 동작

showModal은 dialog를 최상위 레이어에 표시하고 바깥 상호작용을 제한합니다. open 속성만 설정하는 것과 모달 동작이 다릅니다.

포커스 복귀

대화상자를 닫은 뒤 원래 작업으로 돌아갈 수 있어야 합니다. 초기 포커스와 Escape 동작을 실제 브라우저에서 확인합니다.

실습 준비

예제 화면의 실행 범위 안내를 먼저 확인하세요. 다음은 과제를 별도 프로젝트로 확장할 때의 준비 환경입니다. 별도 로컬 프로젝트에서 직접 구현하고 브라우저 개발자 도구로 확인하세요. 별도 폴더에 HTML과 필요한 이미지·미디어 파일을 직접 준비하고 로컬 HTTP 서버로 여세요. Elements·접근성 패널과 실제 키보드 조작으로 확인합니다.

연결된 예제는 출발점입니다. 아래 과제 전체가 완성된 코드는 아니며, 예제의 지원 범위를 넘는 작업은 별도 프로젝트에서 수행하세요.

실습 과제

  1. dialog.html 파일에 키보드로 열기, 닫기, Escape 조건을 준비하세요.
  2. 제목 있는 dialog와 열기·닫기 버튼을 만들고 보조 JS로 showModal과 close를 연결하세요.
  3. 키보드로 열기, 닫기, Escape 조건으로 실행하세요. 확인할 결과: 모달 안에서 키보드 조작과 Escape 종료를 확인한다. 닫은 뒤 열기 버튼으로 포커스가 돌아오는지 기록한다. 예상과 실제 결과는 구분해 기록하세요.

관찰할 변수

변수기준 조건바꿀 조건예상할 변화·검증 가설
열기 방식showModalopen 속성실행 전 가설: 바깥 상호작용 제한이 달라질 것이다. 다른 조건은 고정하고 실행 후 실제 결과를 따로 기록합니다.

표의 예상은 측정 결과가 아닙니다. 한 번에 한 조건만 바꾸고 실제 결과가 다르면 원인을 기록하세요.

완료 조건

자가 점검

  1. dialog 제목을 어떻게 연결하나요?
  2. 모달 안의 첫 포커스를 어디에 두는 것이 적절한가요?

공식 참고

연결된 예제와 실행 범위

예제 원본 · 실행 환경과 제한

전용 보조 코드가 열기 버튼을 showModal에 연결합니다. dialog의 open 속성과 모달 초점 동작을 비교하세요. Shadow DOM에서 문서 body/html 선택자를 범위화합니다. @media는 외부 미리보기 viewport에 반응하며 폭 슬라이더는 컨테이너만 변경합니다. 네트워크·폼 이동·iframe 실행은 제한됩니다.

원본 코드·기록은 자동으로 덮어쓰지 않습니다. 기존 예제를 초기화할 때도 필기는 유지됩니다.

다음 학습

이전: details로 접히는 목차 · 다음: 미디어 자막과 대체 경로

실험 기록 — 직접 작성

목표

핵심 개념

바꾼 변수와 예상

실제 결과

배운 점

남은 질문

코드 편집 · 실습 · 필기 열기 →