HTML4, HTML5, 그리고 프레임셋 문서의 구조는 각각의 HTML 버전에 따라 약간씩 다릅니다.
이러한 문서 구조는 HTML 문서의 기본적인 레이아웃과 구획을 정의하는 역할을 합니다.
HTML5는 HTML4에 비해 더 많은 의미론적 요소를 도입하여 문서의 의미를 더 명확하게 정의했습니다.
이렇게 함으로써 검색 엔진이나 스크린 리더 등의 보조 기술이 문서를 더 잘 이해하고 해석할 수 있게 되었습니다
HTML5 에서는 더 이상 지원하지 않는 프레임셋 문서는 여러 개의 프레임으로 구성되며,
각 프레임은 개별적인 HTML 문서로 간주됩니다.
프레임셋 문서 구조 - by. UXKM
요약 설명
프레임셋(frameset)은 HTML4에서 사용되던 문서 분할 방식으로,
하나의 브라우저 창 안에 여러 개의 HTML 문서를 나누어 동시에 표시하기 위해 사용되었습니다. <frameset> 요소는 <body>를 대체하며,
<frame> 태그를 통해 각 영역에 다른 문서를 로드합니다.
하지만 프레임셋은 접근성 저하, 검색엔진 비호환, 모바일 미지원, 복잡한 유지보수 등의 이유로
HTML5에서 공식적으로 폐지(deprecated) 되었으며, 더 이상 사용이 권장되지 않습니다.
현대 웹 개발에서는 <iframe>이나 컴포넌트 기반 SPA 구조,
CSS 레이아웃 기법(Flexbox, Grid) 등이 대체 기술로 사용됩니다.
주요 특징
문서 분할
한 페이지를 여러 개의 영역(프레임)으로 분할하여 각각 다른 HTML 문서를 표시합니다.
독립적 로딩
각 프레임은 개별 URL을 가지며, 독립적으로 로드되어 콘텐츠를 보여줍니다.
<body> 대체
<frameset> 요소는 <body> 요소를 대체하며 동시에 사용할 수 없습니다.
링크 타깃 지정
프레임 간 상호작용을 위해 <a target="프레임이름"> 형식을 사용하여 특정 프레임에 링크를 열 수 있습니다.
기본 구조
cols 또는 rows 속성을 사용하여 프레임을 수직 또는 수평으로 분할할 수 있으며,
각 <frame> 요소에는 개별 HTML 파일을 지정하여 콘텐츠를 불러옵니다.
관련 요소
요소
설명
<frameset>
프레임 분할을 정의하며, <body> 대신 사용
<frame>
각 프레임에 표시할 개별 문서 정의
<noframes>
프레임을 지원하지 않는 브라우저에 대체 콘텐츠 제공
HTML5 에서 프레임셋이 폐지된 이유
접근성 문제 (Accessibility Issues)
스크린 리더 지원 부족
프레임은 서로 독립적인 문서로 구성되어 있기 때문에, 보조 기술(예: 스크린 리더)은 전체 페이지 구조를 인식하기 어렵습니다.
프레임 간 문맥 전달 실패
사용자 입장에서는 프레임이 논리적으로 연결되어 있지만,
보조기기는 이를 별개의 페이지로 해석하여 내용 간 흐름을 이해하지 못합니다.