매일 수백만 명의 사람들이 HTML로 작업하고 수십억 명의 사람들이 HTML을 사용합니다. 하지만 기본 사항을 기억하거나 알고 있는 사람이 얼마나 될까요? 이런 점을 염두에 두고 HTML과 DOM에 관한 몇 가지 세부 사항을 상기하는 시간을 가져보는 것이 좋겠다고 생각했습니다.
1990년 CERN에서 만들어진 HTML은 ‘하이퍼텍스트 마크업 랭기지’의 약자로, 링크된 문서를 설명하는 데 사용됩니다. HTML에는 흥미로운 세부 사항이 많지만 개인적으로 다음 사항의 조합이 가장 주목할 만합니다.
브라우저에 문서를 렌더링하는 방법을 알려주는 코드를 작성하는 대신 문서가 무엇으로 구성되어 있는지 설명합니다. 그러면 브라우저는 이를 구현하는 방법에 대한 모든 세부 사항을 파악하여 사용자에게 가장 적합한 방식으로 표시합니다.
참고: 오늘날 대부분의 최신 UI 시스템은 이와 유사한 선언적 접근 방식을 취하지만, 항상 그런 것은 아닙니다. 나중에 일부 시스템은 HTML을 명시적으로 패턴화 하기도 했습니다. 예를 들어, Microsoft의 Windows 프레젠테이션 파운데이션(WPF) 팀은 이전에 Internet Explorer와 HTML을 개발했던 여러 사람으로 구성되었습니다. 실제로 WPF를 초기에 탐색할 때(2002년경) Microsoft는 차세대 UI 스택 전체를 HTML에 구축하는 것을 고려했습니다. 대신 Xaml과 WPF를 만들기로 결정했습니다. 만약 HTML을 고수하고 모든 것을 표준에 다시 기여했다면 어떻게 되었을지 궁금할 때가 많습니다.
선언적 언어인 HTML은 시맨틱 문서에 더욱 중점을 둡니다. 일반적으로 의미 없는 사각형과 원이 아니라 의미 있는 섹션, 헤더, 단락 등을 선언합니다. 이는 HTML을 접근성과 이식성이 뛰어난 포맷으로 만들어 줍니다. 스크린 리더는 원시 도형과 텍스트 블록을 해석해야 하는 것보다 문단이 무엇인지 더 쉽게 이해하고 시각 장애가 없는 사용자에게 가장 잘 전달할 수 있는 방법을 찾을 수 있습니다. 휴대폰, 시계, TV, VR 헤드셋 등 다양한 디바이스에서도 해당 폼 팩터에 가장 적합한 방식으로 문서를 해석할 수 있습니다.
또한 HTML이 제공하는 의미와 표현의 명확한 분리는 기술적 이점뿐만 아니라 플랫폼에서 일어나는 표현력, 다양성, 창의성의 잠재력을 확장하는 데에도 기여했습니다.
참고: HTML은 의미론적이지만, 그럼에도 불구하고 항상 사용자 에이전트를 통해 구체적인 표현이 이루어집니다. 제 안의 안락의자 철학자는 모든 존재가 형태와 물질의 구성이라고 가정하는 아리스토텔레스 토마스주의의 하이로모피즘 사상을 떠올리지 않을 수 없습니다.
HTML에는 웹 자체를 탄생시킨 핵심 요소인 하이퍼링크가 포함되어 있습니다. 하이퍼링크는 문서, 문서 섹션, 앱 간에 , 심지어 여러 대의 컴퓨터 간에 연결을 만들어냅니다. ‘링크’라는 개념은 아주 당연하고 작고 단순한 것처럼 보이지만, 하이퍼링크가 컴퓨터의 메모리 공간을 벗어나 전 세계를 연결할 수 있게 되면서 세상이 바뀌었습니다.