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

  • 요한 2017-01-31

    '추가된 기능' 섹션에 `onungandledrejection` 라는 오타가 있어욧. 이걸 다 타이핑하셨다니!! 덜덜덜;;

  • 신현석 2017-01-31

    요한, 고쳤어요~ 고마워요. 다 타이핑 한거는 아니고 일부 타이핑 했을꺼에요. ㅋ

  • doohwan 2017-02-07

    덕분에 잘 보고 갑니다.

  • 이승헌 2017-03-09

    AppCache 가 나온지 얼마나 됐다고 삭제되다니... 이유가 뭔가요???

  • 신현석 2017-03-10

    https://github.com/w3c/html/issues/40 여기 보시면 앱캐시는 아직 미적지근하고 브라우저 밴더들은 서비스 워커를 통해서 자원을 관리하는 쪽으로 가고 있어서 삭제하기로 했나보네요.

Post a comment

:

: 공개 되지 않습니다. Gravatar를 표시 합니다.

:

: HTML 태그를 사용할 수 없습니다.