HTML 5.1 변경사항
dev | 2017-01-28
석달전 일이기는 하지만 아무도 관심가져주지 않는 사이 HTML 5.1이 나왔다. 이전 버전과의 차이점에 대한 섹션이 있어서 대강 번역해 봤다.
HTML5.1에서 새로 추가된 기능
- <picture>요소와 srcset 속성을 이용하여 반응형 이미지를 선택할 수 있게 됨
- <details>요소 <summary> 요소를 이용해서 사용자가 정보를 확장해서 볼 수 있게 해주는 기능을 사용할 수 있음
- <menuitem>요소에 type="context" 속성과 속성값을 지정해서 브라우저의 문맥 메뉴(context menu)와 같은 기능을 추가할 수 있음
- 브라우저의 성능을 떨어뜨리지 않고 최적의 초당 화면수로 애니메이션을 가능하게 해주는 requestAnimationFrame API가 표준에 추가됨
- enqueueJob과 nextJob를 이용해서 Promise의 세부 작업 내용을 참조할 수 있음
- HTML4에 정의되어 있는 RDFa를 지원할 수 있게 링크에 rev 속성을 지정할 수 있음
- HTMLMediaElement와 srcObject 객체가 추가됨
- <canvas>요소에 교차 원본(cross origin)을 사용할 수 있는 track과 EventSource와 ImageBitmap이 활성화됨
- 미디어를 불러올 때 event-source-error, event-track-error, event-track-load 이벤트를 사용할 수 있음
- 프로미스 거부(promise rejection)를 추적할 수 있는 onrejectionhandled, onunhandledrejection API가 추가됨
- HTML 표 요소에 HTMLTablaCaptionElement, HTMLTableSectionElement, HTMLTableRowElement가 추가됨
- 사용자 히스토리를 이용해서 네비게이션 할 때 사용자 뷰를 제어하는 history.scrollRestoration이 추가됨
- 콜렉션을 반환하는 일부 객체에 대해서 IDL [SameObject]가 추가됨
- 브라우저 문맥을 분리할 수 있게 rel과 window에 noopener가 추가됨
- 콘텐츠 보안 정책(Content Security Policy) 사용을 지원하기 위해 <script>와 <style> 요소에 nonce 속성이 추가됨
HTML5.1에서 삭제된 기능
- appCache가 삭제됨
- Media Controller가 삭제됨
- command API가 삭제됨
- <object>요소에 usemap 속성을 사용할 수 없음
- accessKeyLabel IDL 속성이 삭제됨
- <label> 요소에 form 속성을 사용할 수 없음
- <input type="range"> 요소에 multiple 속성을 사용할 수 없음
- <area> 요소에 hreflang과 type 속성을 사용할 수 없음
- 아웃라인 형성을 위해서 <h1> 요소를 각각 포함하고 있는 <section> 요소를 사용할 수 없음
- 서식 전송에서 isindex를 더 이상 특별하게 처리하지 않음
- navigator.yieldForStorageUpdates()와 Storage mutex가 삭제됨
- <tbody> 요소 앞에 <tfoot>을 선행시킬 수 없음
- HTMLHyperLinkElementUtils에서 [Exposed=Window], DOMStringMap과 IDL Date에서 [Exposed=Window, Worker]가 삭제됨
HTML5.1에서 변경된 기능
- HTML4와 마찬가지로 accesskey의 값으로 한글자만 사용할 수 있음
- 각각이 섹션을 위한 요소에 포함되어 있다면 <header>와 <footer> 요소를 포함(nested)시켜서 사용할 수 있음
- <option> 요소의 내용이 없을 수 있음
- mousewheel 이벤트가 wheel이벤트가 됨
- <figcation> 요소를 <figure> 요소 안의 어느 위치에 두어도 무방함
- title 속성이 있거나 사적인 문서라 할지라도 alt 속성이 누락된 <img> 요소는 준수된 것이 아님
- <time> 요소의 내용은 구절이거나 텍스트임
- 중복된 href 속성이 있는 <area> 요소에 alt 속성이 비어있을 경우 준수된 것이 아님
- 내부적으로 탐색할 때 링크 등의 다음 검색은 탐색이 이동하는 곳으로부터 시작됨
- <img>와 관련있는 요소들이 width="0"을 지원함
- .tFoot과 .createTFoot()은 항상 표의 맨 마지막에 들어감
- fieldset과 namedItem은 HTMLFormControlsCollection과 HTMLOptionsCollection이 아닌 HTMLCollection을 생성함
- frameElement는 null을 반환할 수 있음
- 이미지의 경우 리졸버에게 제공된 URL인 currentSrc를 정하지 못해도 반드시 절대 URL일 필요는 없음
- script IDL 속성이 반영됨
- meta refresh에 ;나 url=을 선택 사항으로 할 수 있음
- navigator.javaEnabled()은 메서드임
- fileCallback이 blobcallback으로 불리움
- toBlob() 콜백은 non-nullable임
- HTMLHyperlinkElementUtils와 Location의 origin은 읽을 수만 있음
- SVG의 첫 번째 title은 마지막이 아닌 해당 제목임
- window.open()이 null을 반환할 수 있음
Comments
'추가된 기능' 섹션에 `onungandledrejection` 라는 오타가 있어욧. 이걸 다 타이핑하셨다니!! 덜덜덜;;
요한, 고쳤어요~ 고마워요. 다 타이핑 한거는 아니고 일부 타이핑 했을꺼에요. ㅋ
덕분에 잘 보고 갑니다.
AppCache 가 나온지 얼마나 됐다고 삭제되다니... 이유가 뭔가요???
https://github.com/w3c/html/issues/40 여기 보시면 앱캐시는 아직 미적지근하고 브라우저 밴더들은 서비스 워커를 통해서 자원을 관리하는 쪽으로 가고 있어서 삭제하기로 했나보네요.