SlideShare une entreprise Scribd logo
1  sur  32
Télécharger pour lire hors ligne
아재가 젊은이에게
사랑받는 마크업을
하는 방법
아저씨가 젊은이들에게 사랑 받기 위한 현대적인 HTML/CSS 마크업
사랑받는 마크업 == 시맨틱한 마크업
왜 시맨틱한 마크업을 

해야하는가?
접근성
대다수 사용자에겐 별로 중요하지 않음
SEO
시맨틱해야만 검색 결과 상위에 노출되는 게 아님
이것이 중요하지 않다는 게 아니라 상대를 설득하거나
동기부여 하는데 다소 논리적 빈약함이 있다는 뜻
코딩 규칙과 유지보수성
글로벌 기준의 코딩 규칙 확보, 유지보수성을 높임
의도의 명확성
개발자가 의도한 요소의 뜻을 명확하게 드러냄
협업 개발자간 커뮤니티를 위해 변수명 하나도 허투루 짓지 않듯
마크업 역시 동일한 관점에서 시맨틱을 바라봐야 한다.
匠人
마크업하는 한 인간으로써 작가
(Editorial writer)나 디자이너의
의도를 정확히 이해하고 코드로
명확히 표현해야 할 책임이 있다
강조에는 여러가지 의미가 있다.
<b> … </b>
문서 또는 문장에서 다른 글자와의 문체가 다른 키워드, 테마 등을 나타냄
<em> … </em>
문장의 주된 뉘앙스와 관련된 키워드나 내용을 강조함
<strong> … </strong>
문장에서 가장 주요한 항목이나 심각한 문제임을 드러내고 강조함
<mark> … </mark>
<dfn> … </dfn>
검색과 같은 특정 액션에 따라 결과적으로 주목이 필요한 부분을 나타냄
고유 명사나 전문 용어, 서비스 이름 등 특정 정의어를 나타냄
EXAMPLE - <mark>
https://codepen.io/SitePoint/pen/QNLyLV
EXAMPLE - <dfn>
https://codepen.io/njbair/pen/bxcdu
강조 외에 부차적인 문의 상태는?
<small> … </small>
면책 사항, 주석 등 문서 속의 부차적인 내용을 나타냄
<del> … </del>
과거에 작성했지만 이제 참조할 필요가 없는 내용을 나타냄
<ins> … </ins>
새롭게 추가된 문자나 변경된 내용을 나타냄
<s> … </s>
정보가 낡아 관련 없는 정보가 됐거나 정확성이 보장되지 않는 내용을 나타냄
EXAMPLE - <ins>
https://codepen.io/pcwebschools/pen/wGVBNJ
EXAMPLE - <s>
https://codepen.io/SitePoint/pen/dMbGoO
문장의 상태 구별을 더욱 명확하게! - 1
<i> … </i>
소설속등장인물의생각이나대사,관용구,속담,고유명사등평범한글자구분됨을나타냄
<q> … </q>
짧은 인용문을 나타냄, 인용문이 길다면 <blockquote>을 사용
<u> … </u>
분명하게 발음할 수 없는 텍스트(타이포, 심볼, 오탈자, 한자 등)를 나타냄
<time> … </time>
시각, 일시 등의 시간 정보를 나타냄
문장의 상태 구별을 더욱 명확하게! - 2
<abbr> … </abbr>
준말을 나타내며 title 속성으로 그 준말의 원형을 명시
<cite> … </cite>
책이나 신문, 텔레비전, 노래, 영화 등과 같이 참조(인용)하고 있는 

창작물의 제목이나 작가명 또는 참조원 URL 등을 나타냄
<kbd> … </kbd>
사용자에게 제공하고 있는 입력 키(단축키나 명령키)를 나타냄
<address> … </address>
제작자나 책임자 등의 개인 / 조직의 연락처 정보를 나타내며 "주소"를 

뜻하는게 아님
EXAMPLE - <u>
https://codepen.io/tutorialio/pen/ryWZWR
EXAMPLE - <time>
https://codepen.io/tutorialio/pen/YZpOPy
EXAMPLE - <cite>
https://codepen.io/w3tr/pen/bVWQvq
EXAMPLE - <kbd>
https://codepen.io/tutorialio/pen/VpKPoj
보편적인 이름으로 각 폼의 이름을 정한다.
https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete
https://html.spec.whatwg.org/multipage/forms.html#autofill
HTML의 조각을 렌더링할 때는?
<template> … </template>
기본적으로 파싱은 되지만 렌더링되지 않으며 이를 복제하여 특정 DOM
요소의 자식 요소로 배치해 렌더링 시킬 때 사용
<template id="jsi-hoge">
   <dl>
    <dt></dt>
     <dd></dd>
   </dl>
</template>
<details> … </details>
개요와 상세 부분을 분리하고 사용자가 의사에 따라 상세 내용을
노출하고자 할 때 사용
<details id="jsi-hoge">
  <summary>개요<span>...자세히보기</span></summary>
  <p>자세한 내용</p>
</details>
HTML 5.1
EXAMPLE - <template>
https://codepen.io/wolf-w/pen/ZGLdPr
EXAMPLE - <details>
https://codepen.io/tutorialio/pen/QpwKOO
증분 검색(Incremental search)을 구현할 때는?
<datalist> … </datalist>
자식 요소로 <option>을 갖고 검색 키워드와 매치되는 요소 목록을
보여주는 UI를 만들때 사용
<input type="text" list="example" />
 
<datalist id="example">
   <option>후보 1</option>
   <option>후보 2</option>
   <option>후보 3</option>
</datalist>
EXAMPLE - <datalist>
https://codepen.io/tutorialio/pen/OpPXrP
모달 팝업(Modal Popup)을 구현할 때는?
<dialog> … </dialog>
대화 상자 또는 얼럿과 같은 팝업 UI를 구현할 때 사용
<dialog class="mdl-dialog">
  <h4 class="mdl-dialog__title">Allow data collection?</h4>
  <div class="mdl-dialog__content">
    <p>
Allowing us to collect data will let us get you
the information you want faster.
</p>
  </div>
  <div class="mdl-dialog__actions">
    <button type="button" class="mdl-button">Agree</button>
    <button type="button" class="mdl-button close”>
Disagree
</button>
  </div>
</dialog>
HTML 5.2
EXAMPLE - <dialog>
https://codepen.io/SitePoint/pen/XNaLOg
컨텍스트 메뉴를 커스텀하려면?
<menu> … </menu>
네이티브 컨텍스트 메뉴에 특정 기능 메뉴를 제공하고자할 때 사용
<button type="menu" menu="example">메뉴</button>
<menu type="popup" id="example">
   <menuitem type="radio" label="왼쪽"
icon="left.png" onclick="setAlign('left')">
   <menuitem type="radio" label="중앙"
icon="center.png" onclick="setAlign('center')">
   <menuitem type="radio" label="오른쪽"
icon="right.png" onclick="setAlign('right')">
   <hr />
   <menuitem type="command" label="적용"
icon="decide.png" onclick="decide()">
</menu>
HTML 5.1
EXAMPLE - <menu>
https://www.w3schools.com/tags/tryit.asp?filename=tryhtml5_menuitem
스크린 사이즈에 맞춰 이미지를 출력하려면?
<picture> … </picture>
화면 사이즈에 따라 이미지를 다르게 출력하고자 할 때 사용
<picture>
  <source srcset="image@x2.png" media="(min-width: 641px)">
  <source srcset="image@x3.png" media="(min-width: 769px)">
  <source srcset="image@x4.png" media="(min-width: 961px)">
  <img src="image.png" alt="" />
</picture>
<picture>
  <source srcset="smaller_landscape.jpg"
media="(max-width: 769px) and (orientation: landscape)">
  <source srcset="smaller_portrait.jpg"
media="(max-width: 769px) and (orientation: portrait)">
  <source srcset="default_landscape.jpg"
media="(min-width: 768px) and (orientation: landscape)">
  <source srcset="default_portrait.jpg"
media="(min-width: 768px) and (orientation: portrait)">
  <img srcset="default_landscape.jpg" alt="">
</picture>
EXAMPLE - <picture>
https://codepen.io/olivier-c/pen/QNYRPG
감사합니다.

Contenu connexe

Similaire à 아재가 젊은이에게 사랑받는 마크업을 하는 방법

2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현kdh24
 
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들Kivol
 
SJBoard Project Portfolio
SJBoard Project PortfolioSJBoard Project Portfolio
SJBoard Project PortfolioJuyoungKang7
 
2015 나는 프로그래머다 컨퍼런스 (11) 염산악 - 가독성에 대하여
2015 나는 프로그래머다 컨퍼런스 (11) 염산악 - 가독성에 대하여2015 나는 프로그래머다 컨퍼런스 (11) 염산악 - 가독성에 대하여
2015 나는 프로그래머다 컨퍼런스 (11) 염산악 - 가독성에 대하여iamprogrammerofficial
 
풀리퀘를 부탁해!
풀리퀘를 부탁해!풀리퀘를 부탁해!
풀리퀘를 부탁해!Mickey SJ Lee
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2Yunho Jo
 
과정 커리큘럼
과정 커리큘럼과정 커리큘럼
과정 커리큘럼John Seo
 
The art of readable code ch4 ch8
The art of readable code ch4   ch8The art of readable code ch4   ch8
The art of readable code ch4 ch8Ki Sung Bae
 
[스프링 스터디 2일차] AOP
[스프링 스터디 2일차] AOP[스프링 스터디 2일차] AOP
[스프링 스터디 2일차] AOPAnselmKim
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵중선 곽
 
0515. view helper
0515. view helper0515. view helper
0515. view helper민정 김
 
프로그래밍 언어 기초(델파이,C++)
프로그래밍 언어 기초(델파이,C++)프로그래밍 언어 기초(델파이,C++)
프로그래밍 언어 기초(델파이,C++)Devgear
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차Michael Yang
 
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SDET 인력 양성을 위한 프로젝트 지원 사례 정리SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SDET 인력 양성을 위한 프로젝트 지원 사례 정리SangIn Choung
 
Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부JiHyung Lee
 
2021년 4월 10일 개발자 이야기
2021년 4월 10일 개발자 이야기2021년 4월 10일 개발자 이야기
2021년 4월 10일 개발자 이야기Jay Park
 

Similaire à 아재가 젊은이에게 사랑받는 마크업을 하는 방법 (20)

2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현2조 프로젝트 보고서 김동현
2조 프로젝트 보고서 김동현
 
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
GraphQL in Action - REST와 이별할 때 생각해야 하는 것들
 
SJBoard Project Portfolio
SJBoard Project PortfolioSJBoard Project Portfolio
SJBoard Project Portfolio
 
2015 나는 프로그래머다 컨퍼런스 (11) 염산악 - 가독성에 대하여
2015 나는 프로그래머다 컨퍼런스 (11) 염산악 - 가독성에 대하여2015 나는 프로그래머다 컨퍼런스 (11) 염산악 - 가독성에 대하여
2015 나는 프로그래머다 컨퍼런스 (11) 염산악 - 가독성에 대하여
 
풀리퀘를 부탁해!
풀리퀘를 부탁해!풀리퀘를 부탁해!
풀리퀘를 부탁해!
 
Rails style-guide-2
Rails style-guide-2Rails style-guide-2
Rails style-guide-2
 
과정 커리큘럼
과정 커리큘럼과정 커리큘럼
과정 커리큘럼
 
웹표준 교육
웹표준 교육웹표준 교육
웹표준 교육
 
Portfolio
PortfolioPortfolio
Portfolio
 
The art of readable code ch4 ch8
The art of readable code ch4   ch8The art of readable code ch4   ch8
The art of readable code ch4 ch8
 
[스프링 스터디 2일차] AOP
[스프링 스터디 2일차] AOP[스프링 스터디 2일차] AOP
[스프링 스터디 2일차] AOP
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵
 
0515. view helper
0515. view helper0515. view helper
0515. view helper
 
프로그래밍 언어 기초(델파이,C++)
프로그래밍 언어 기초(델파이,C++)프로그래밍 언어 기초(델파이,C++)
프로그래밍 언어 기초(델파이,C++)
 
Portfolio
PortfolioPortfolio
Portfolio
 
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
처음부터 다시 배우는 HTML5 & CSS3 강의자료 2일차
 
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SDET 인력 양성을 위한 프로젝트 지원 사례 정리SDET 인력 양성을 위한 프로젝트 지원 사례 정리
SDET 인력 양성을 위한 프로젝트 지원 사례 정리
 
Programming skills 1부
Programming skills 1부Programming skills 1부
Programming skills 1부
 
Basic html
Basic htmlBasic html
Basic html
 
2021년 4월 10일 개발자 이야기
2021년 4월 10일 개발자 이야기2021년 4월 10일 개발자 이야기
2021년 4월 10일 개발자 이야기
 

Plus de 우영 주

스트리밍과 디지털 권리 관리
스트리밍과 디지털 권리 관리스트리밍과 디지털 권리 관리
스트리밍과 디지털 권리 관리우영 주
 
스트리밍과 플레이어
스트리밍과 플레이어스트리밍과 플레이어
스트리밍과 플레이어우영 주
 
프런트엔드개발, 지금과 다음
프런트엔드개발, 지금과 다음프런트엔드개발, 지금과 다음
프런트엔드개발, 지금과 다음우영 주
 
컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기우영 주
 
Introduce Guetzli
Introduce GuetzliIntroduce Guetzli
Introduce Guetzli우영 주
 
좋은 기능을 만드는 방법
좋은 기능을 만드는 방법좋은 기능을 만드는 방법
좋은 기능을 만드는 방법우영 주
 
서비스를 성공적으로 만드는 방법
서비스를 성공적으로 만드는 방법서비스를 성공적으로 만드는 방법
서비스를 성공적으로 만드는 방법우영 주
 
다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!우영 주
 
BEM을 깨우치다.
BEM을 깨우치다.BEM을 깨우치다.
BEM을 깨우치다.우영 주
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 우영 주
 
명세부터 깨우치는 FILEAPI
명세부터 깨우치는 FILEAPI명세부터 깨우치는 FILEAPI
명세부터 깨우치는 FILEAPI우영 주
 
[Toolcon2014] WebStorm에서 자바스크립트 리팩토링하기
[Toolcon2014] WebStorm에서 자바스크립트 리팩토링하기[Toolcon2014] WebStorm에서 자바스크립트 리팩토링하기
[Toolcon2014] WebStorm에서 자바스크립트 리팩토링하기우영 주
 
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)우영 주
 
Javascript Test Double Sinon.js
Javascript Test Double Sinon.jsJavascript Test Double Sinon.js
Javascript Test Double Sinon.js우영 주
 
HTML5 BOILERPLATE를 소개합니다.
HTML5 BOILERPLATE를 소개합니다.HTML5 BOILERPLATE를 소개합니다.
HTML5 BOILERPLATE를 소개합니다.우영 주
 
이클립스로 GIT 사용하기
이클립스로 GIT 사용하기이클립스로 GIT 사용하기
이클립스로 GIT 사용하기우영 주
 

Plus de 우영 주 (17)

스트리밍과 디지털 권리 관리
스트리밍과 디지털 권리 관리스트리밍과 디지털 권리 관리
스트리밍과 디지털 권리 관리
 
스트리밍과 플레이어
스트리밍과 플레이어스트리밍과 플레이어
스트리밍과 플레이어
 
프런트엔드개발, 지금과 다음
프런트엔드개발, 지금과 다음프런트엔드개발, 지금과 다음
프런트엔드개발, 지금과 다음
 
컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기컴포넌트 관점에서 개발하기
컴포넌트 관점에서 개발하기
 
Introduce Guetzli
Introduce GuetzliIntroduce Guetzli
Introduce Guetzli
 
좋은 기능을 만드는 방법
좋은 기능을 만드는 방법좋은 기능을 만드는 방법
좋은 기능을 만드는 방법
 
서비스를 성공적으로 만드는 방법
서비스를 성공적으로 만드는 방법서비스를 성공적으로 만드는 방법
서비스를 성공적으로 만드는 방법
 
다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!다함께, FluxUtils 한바퀴!
다함께, FluxUtils 한바퀴!
 
BEM을 깨우치다.
BEM을 깨우치다.BEM을 깨우치다.
BEM을 깨우치다.
 
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강 [토크아이티] 프런트엔드 개발 시작하기 저자 특강
[토크아이티] 프런트엔드 개발 시작하기 저자 특강
 
명세부터 깨우치는 FILEAPI
명세부터 깨우치는 FILEAPI명세부터 깨우치는 FILEAPI
명세부터 깨우치는 FILEAPI
 
[Toolcon2014] WebStorm에서 자바스크립트 리팩토링하기
[Toolcon2014] WebStorm에서 자바스크립트 리팩토링하기[Toolcon2014] WebStorm에서 자바스크립트 리팩토링하기
[Toolcon2014] WebStorm에서 자바스크립트 리팩토링하기
 
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
진보한 개발 환경에서 품질 좋은 코드 생산 (WebStorm)
 
Javascript Test Double Sinon.js
Javascript Test Double Sinon.jsJavascript Test Double Sinon.js
Javascript Test Double Sinon.js
 
LESS와 EMMET
LESS와 EMMETLESS와 EMMET
LESS와 EMMET
 
HTML5 BOILERPLATE를 소개합니다.
HTML5 BOILERPLATE를 소개합니다.HTML5 BOILERPLATE를 소개합니다.
HTML5 BOILERPLATE를 소개합니다.
 
이클립스로 GIT 사용하기
이클립스로 GIT 사용하기이클립스로 GIT 사용하기
이클립스로 GIT 사용하기
 

아재가 젊은이에게 사랑받는 마크업을 하는 방법

  • 2. 아저씨가 젊은이들에게 사랑 받기 위한 현대적인 HTML/CSS 마크업
  • 3. 사랑받는 마크업 == 시맨틱한 마크업
  • 4. 왜 시맨틱한 마크업을 
 해야하는가?
  • 5. 접근성 대다수 사용자에겐 별로 중요하지 않음 SEO 시맨틱해야만 검색 결과 상위에 노출되는 게 아님 이것이 중요하지 않다는 게 아니라 상대를 설득하거나 동기부여 하는데 다소 논리적 빈약함이 있다는 뜻
  • 6. 코딩 규칙과 유지보수성 글로벌 기준의 코딩 규칙 확보, 유지보수성을 높임 의도의 명확성 개발자가 의도한 요소의 뜻을 명확하게 드러냄 협업 개발자간 커뮤니티를 위해 변수명 하나도 허투루 짓지 않듯 마크업 역시 동일한 관점에서 시맨틱을 바라봐야 한다.
  • 7. 匠人 마크업하는 한 인간으로써 작가 (Editorial writer)나 디자이너의 의도를 정확히 이해하고 코드로 명확히 표현해야 할 책임이 있다
  • 8. 강조에는 여러가지 의미가 있다. <b> … </b> 문서 또는 문장에서 다른 글자와의 문체가 다른 키워드, 테마 등을 나타냄 <em> … </em> 문장의 주된 뉘앙스와 관련된 키워드나 내용을 강조함 <strong> … </strong> 문장에서 가장 주요한 항목이나 심각한 문제임을 드러내고 강조함 <mark> … </mark> <dfn> … </dfn> 검색과 같은 특정 액션에 따라 결과적으로 주목이 필요한 부분을 나타냄 고유 명사나 전문 용어, 서비스 이름 등 특정 정의어를 나타냄
  • 11. 강조 외에 부차적인 문의 상태는? <small> … </small> 면책 사항, 주석 등 문서 속의 부차적인 내용을 나타냄 <del> … </del> 과거에 작성했지만 이제 참조할 필요가 없는 내용을 나타냄 <ins> … </ins> 새롭게 추가된 문자나 변경된 내용을 나타냄 <s> … </s> 정보가 낡아 관련 없는 정보가 됐거나 정확성이 보장되지 않는 내용을 나타냄
  • 14. 문장의 상태 구별을 더욱 명확하게! - 1 <i> … </i> 소설속등장인물의생각이나대사,관용구,속담,고유명사등평범한글자구분됨을나타냄 <q> … </q> 짧은 인용문을 나타냄, 인용문이 길다면 <blockquote>을 사용 <u> … </u> 분명하게 발음할 수 없는 텍스트(타이포, 심볼, 오탈자, 한자 등)를 나타냄 <time> … </time> 시각, 일시 등의 시간 정보를 나타냄
  • 15. 문장의 상태 구별을 더욱 명확하게! - 2 <abbr> … </abbr> 준말을 나타내며 title 속성으로 그 준말의 원형을 명시 <cite> … </cite> 책이나 신문, 텔레비전, 노래, 영화 등과 같이 참조(인용)하고 있는 
 창작물의 제목이나 작가명 또는 참조원 URL 등을 나타냄 <kbd> … </kbd> 사용자에게 제공하고 있는 입력 키(단축키나 명령키)를 나타냄 <address> … </address> 제작자나 책임자 등의 개인 / 조직의 연락처 정보를 나타내며 "주소"를 
 뜻하는게 아님
  • 20. 보편적인 이름으로 각 폼의 이름을 정한다. https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input#attr-autocomplete https://html.spec.whatwg.org/multipage/forms.html#autofill
  • 21. HTML의 조각을 렌더링할 때는? <template> … </template> 기본적으로 파싱은 되지만 렌더링되지 않으며 이를 복제하여 특정 DOM 요소의 자식 요소로 배치해 렌더링 시킬 때 사용 <template id="jsi-hoge">    <dl>     <dt></dt>      <dd></dd>    </dl> </template> <details> … </details> 개요와 상세 부분을 분리하고 사용자가 의사에 따라 상세 내용을 노출하고자 할 때 사용 <details id="jsi-hoge">   <summary>개요<span>...자세히보기</span></summary>   <p>자세한 내용</p> </details> HTML 5.1
  • 24. 증분 검색(Incremental search)을 구현할 때는? <datalist> … </datalist> 자식 요소로 <option>을 갖고 검색 키워드와 매치되는 요소 목록을 보여주는 UI를 만들때 사용 <input type="text" list="example" />   <datalist id="example">    <option>후보 1</option>    <option>후보 2</option>    <option>후보 3</option> </datalist>
  • 26. 모달 팝업(Modal Popup)을 구현할 때는? <dialog> … </dialog> 대화 상자 또는 얼럿과 같은 팝업 UI를 구현할 때 사용 <dialog class="mdl-dialog">   <h4 class="mdl-dialog__title">Allow data collection?</h4>   <div class="mdl-dialog__content">     <p> Allowing us to collect data will let us get you the information you want faster. </p>   </div>   <div class="mdl-dialog__actions">     <button type="button" class="mdl-button">Agree</button>     <button type="button" class="mdl-button close”> Disagree </button>   </div> </dialog> HTML 5.2
  • 28. 컨텍스트 메뉴를 커스텀하려면? <menu> … </menu> 네이티브 컨텍스트 메뉴에 특정 기능 메뉴를 제공하고자할 때 사용 <button type="menu" menu="example">메뉴</button> <menu type="popup" id="example">    <menuitem type="radio" label="왼쪽" icon="left.png" onclick="setAlign('left')">    <menuitem type="radio" label="중앙" icon="center.png" onclick="setAlign('center')">    <menuitem type="radio" label="오른쪽" icon="right.png" onclick="setAlign('right')">    <hr />    <menuitem type="command" label="적용" icon="decide.png" onclick="decide()"> </menu> HTML 5.1
  • 30. 스크린 사이즈에 맞춰 이미지를 출력하려면? <picture> … </picture> 화면 사이즈에 따라 이미지를 다르게 출력하고자 할 때 사용 <picture>   <source srcset="image@x2.png" media="(min-width: 641px)">   <source srcset="image@x3.png" media="(min-width: 769px)">   <source srcset="image@x4.png" media="(min-width: 961px)">   <img src="image.png" alt="" /> </picture> <picture>   <source srcset="smaller_landscape.jpg" media="(max-width: 769px) and (orientation: landscape)">   <source srcset="smaller_portrait.jpg" media="(max-width: 769px) and (orientation: portrait)">   <source srcset="default_landscape.jpg" media="(min-width: 768px) and (orientation: landscape)">   <source srcset="default_portrait.jpg" media="(min-width: 768px) and (orientation: portrait)">   <img srcset="default_landscape.jpg" alt=""> </picture>