Fast campus의 "견고한 UI 설계를 위한 마크업 가이드 by 정찬명" 강의에 대한 정리입니다.
예를들어 웹에서 의사소통을 할 때, 텍스트만 사용한다면 강조되는 부분이나 분위기를 전달할 수 없다.
https://w3schools.com
https://developer.mozilla.org
예제위주의 설명을 제공한다.
좋은 진입점이다.
그러나 정보가 deep하진 않다.
https://html.spec.whatwg.org
W3C 의 HTML5 명세는 이제 폐기된다.
whatwg는 Web Hypertext Application Technology Working Group의 약자로 브라우저 제조사들의 연합이다.
이제 W3C가 아닌 이 whatwg에서 표준을 재정/관리한다.
https://caniuse.com
브라우저별 웹 표준 구현 현황을 알 수 있다.
즉 해당 기능을 브라우저에서 사용할 수 있는지 확인하기 위한 사이트다.
용어를 잘 알아야 명세를 읽을 수 있다.
기존에 inline-element
, block-element
와 같은 용어들은 HTML5에서는 더이상 사용하지 않으며, 다른 개념의 용어들로 대체된다.
하나의 엘리먼트는 여러 contents에 속할 수 있다.
Body안에서 사용될 수 있는 모든 요소
기존의 Block, inline-element는 모두 Flow Contents다.
문서의 개요를 형성하기 위한 콘텐츠
article aside nav section
섹셔닝 컨텐츠가 업성도 암시적으로 세션이 형성된다.
구문을 구성하는 콘텐츠로, 기존에 inline-element라고 부르던 태그들은 대부분이 ㅖㅗㅁㄱ
사용자와 상호작용할 수 있는 컨텐츠로 입력장치로 조작이 가능하다.
button
, input
, label
, select
, iframe
외부자원을 참조하는 콘텐츠
iframe
, picture
, video
화면에 출력을 위한 요소가 아니다.
다른 콘텐츠의 표시, 동작, 관계등을 설정하기 위한 콘텐츠
base
, link
, meta
, script
, template
, title
등 ..
Metadata Content 면서 Flow Content인 경우 브라우저가 display: none으로 세팅하여 화면에 표시되지 않도록 한다.
화면에 숨겨져있지 않고 볼 수 있는 컨텐츠로, 마우스로 영역을 설정하거나 클릭할 수 있는 컨텐츠
나머지는 여기서 확인할 것
https://html.spec.whatwg.org/#kinds-of-content
투명한 요소로, 해당 요소가 빠지더라도 문서는 유효해야한다.
Content Model(엘리먼트가 담을 수 있는 요소)는 부모의 속성을 따른다.
https://html.spec.whatwg.org/#concept-element-attributes
어떤 Content에 속하는지에 대한 정보
엘리먼트가 어떤 맥락에서 사용될 수 있는지에 대한 정보다.
"대개 이렇다"는 맥락에서의 설명이다. 정답은 아니다. (non-normaltive)
엘리먼트가 담을 수 있는 자식요소로 어떤 내용이 올 수 있는지에 대한 설명
설명에 Transparent
키워드가 있을 경우, 담을 수 있는 요소에 대한 설명이 아닌 자기자신에 대한 설명을 의미한다.
Transparent element의 Content Model은 부모요소의 속성을 따르기 때문이다.
마무리 태그의 생략여부를 알려준다.
W3C HTML5 문서는 더이상 보지 않아도된다.
Living standard인 whatwg를 참고하자.
사용하기전에 대상 브라우저에서 사용이 가능한지 caniuse를 확인하자.
엘리먼트를 사용할땐 명세를 확인하자