'Html5'에 해당되는 글 8건

  1. 2012.11.09 html4 와 html5의 차이점
  2. 2012.10.08 html5 검사시 summary 오류
  3. 2011.04.05 iframe 사용
  4. 2011.03.30 HTML5의 새로운 태그를 IE에서도 사용하는 방법
  5. 2011.03.30 html5 브라우저 호환 준비하기
  6. 2011.03.30 HTML5 문서의 구조
  7. 2011.03.30 HTML5 시작하기
  8. 2011.03.30 IE8이하 버전에서 HTML5 사용하기

html4 와 html5의 차이점

Html5 2012. 11. 9. 15:58

'Html5' 카테고리의 다른 글

html5 검사시 summary 오류  (0) 2012.10.08
iframe 사용  (0) 2011.04.05
HTML5의 새로운 태그를 IE에서도 사용하는 방법  (0) 2011.03.30
html5 브라우저 호환 준비하기  (0) 2011.03.30
HTML5 문서의 구조  (0) 2011.03.30
:

html5 검사시 summary 오류

Html5 2012. 10. 8. 15:36

html5로 마크업하고 validator 검사를 하는데 계속 오류가 떠서 대체 왜이런가 해서 살펴보았다. 영어번역을 보면 장애인에게 충분한 정보제공이 안된다는등의 내용같은데 정확하게 이해가 안되서 찾아보니...아래와 같은 내용이 있었다.

야무님께사 작성하신글을 퍼왔다.

[펌!]Table Summary Attribute - Differences Between HTML 4.01 and HTML5

In HTML5 it is recommended to use summary for special cases only.

In most cases it would be better to explain a table using the caption element,

or a text paragraph before and/or after the table.


HTML5에서는 HTML4.01, XHTML1.0에서와는 다르게 <table> 요소에 summary 속성을 사용하면

유효성 검사(Validator)에서 오류가 발생합니다. 이유는 위에서 설명되는 바와 같습니다.


HTML 이전 버전에서는 복잡한 테이블에 summary 속성을 써서 스크린 리더 사용자에게

설명 텍스트를 제공하자는 제안이 있었습니다. 그것보다는 다음에 설명하는 방법이 더 좋습니다.


특별한 경우에만 summary 속성을 사용하길 권장합니다.

대부분의 경우 <caption> 요소를 사용하거나, 테이블 앞/뒤에서 설명하는 단락을 넣는 것이

summary 속성을 사용하는 것 보다 낳은 방법입니다.


summary 속성을 사용하지 않기를 권하는 이유는 현실적으로 그 내용을 이해하는 사람이 거의 없기 때문입니다.

시각적 사용자 에이전트에서는 이 속성을 표현하지 않으므로 이 속성을 작성한 저자 자신은 보통 그것을 테스트

해볼 수 없어서 보조 기술을 사용하는 사람에게 거의 도움이 되지 않는 내용을 사용합니다.


이러한 이유로 접근성 도구들은 이 속성을 사용자에게 노출하지 않게 되었습니다. 이 속성을 가장 잘 사용하는

몇몇 저자들조차 종종 잘못 사용하곤 하는데, 예를 들어 사실 모든 사람에게 유용할 정보를 넣는다거나 테이블 밖에서

제공되는 정보와 중복된 것을 사용하는 등입니다.

[출처] HTML5에서 Table 요소에 summary 속성을 사용하면 유효성검사시, 통과하지 못하는 이유는? (웹표준화,대한민국의식개선프로젝트) |작성자 야무

 

이와 관련된 웹접근성연구소의 전문가상담 답변.

summary 속성이 HTML5 규격에는 포함되지 않지만 브라우저들이나 보조기기에서는 지원하고 있기 때문에 마크업 오류를 무시하고 사용하셔도 무방합니다. 그리고 caption 요소를 적절히 사용하신 경우 summary 속성을 제공하지 않으셔도 무방합니다.

HTML5 규격에서 summary 속성이 사라지게 된 배경에는 summary 속성으로 제공할 내용을 caption 또는 표 이전에 화면에 출력되도록 하는 방식으로 제공하는 것이 더 바람직하다는 내용이 있으니 참고하시면 좋겠습니다.
http://lists.w3.org/Archives/Public/public-html/2011Apr/0091.html

'Html5' 카테고리의 다른 글

html4 와 html5의 차이점  (0) 2012.11.09
iframe 사용  (0) 2011.04.05
HTML5의 새로운 태그를 IE에서도 사용하는 방법  (0) 2011.03.30
html5 브라우저 호환 준비하기  (0) 2011.03.30
HTML5 문서의 구조  (0) 2011.03.30
:

iframe 사용

Html5 2011. 4. 5. 15:45

<iframe src=" width=" height="" frameborder="0" marginwidth="0" marginheight="0" scrolling="">



이 중 frameborder, marginwidth, marginheight, scrolling 속성이 HTML5에서는 폐지되어 사용할 수 없게 되었습니다. 그렇다면 이 속성들을 대체할 수 있는 방법은 무엇인지 하나하나 살펴보도록 하겠습니다. 
  • marginwidth, marginheight :  아이프레임 내 불려지는 페이지의 <body> 태그에 margin:0를 주면 해결됩니다.
  • scrolling : 아이프레임 내 불려지는 페이지의 <body> 영역이 아이프레임의 크기를 넘지 않거나, <body>에 overflow:hidden을 주면 해결됩니다.
  • frameborder : IE를 제외한 나머지 브라우저에서 border:none을 주면 해결됩니다.

역시 IE가 문제인지도 모르겠습니다. IE8에서는 border:none을 주더라도 아래 그림과 같이 못생긴 테두리가 표시됩니다. 이 테두리를 없앨 수 있는 방법은 오로지 frameborder="0"를 선언하는 것 말고는 없습니다.
(더 신기한 것은 IE6,7은 frameborder가 선언되어 있지 않으면 테두리 자체를 표현하지 않습니다.)

2_1.gif

이렇게 스타일으로 해결할 수 없는 속성들은 사실 HTML5에서 새롭게 생겨난 아이프레임의 속성 "seamless"로 해결할 수가 있습니다. 이 속성은 아이프레임이 일반 콘텐츠처럼 표시되게 하여 스크롤이나 테두리를 발생시키지 않습니다. 지금으로서는 이 속성을 지원하는 브라우저가 없으니, 아이프레임을 사용할 때는 HTML5 스펙에 어긋나지만 frameborder 속성을 사용해주는 수 밖에 없을 듯 합니다.

출처 : NHN NULI
http://html.nhndesign.com/blog/22882

'Html5' 카테고리의 다른 글

html4 와 html5의 차이점  (0) 2012.11.09
html5 검사시 summary 오류  (0) 2012.10.08
HTML5의 새로운 태그를 IE에서도 사용하는 방법  (0) 2011.03.30
html5 브라우저 호환 준비하기  (0) 2011.03.30
HTML5 문서의 구조  (0) 2011.03.30
:

HTML5의 새로운 태그를 IE에서도 사용하는 방법

Html5 2011. 3. 30. 11:29
지지난 포스팅에서 HTML5의 새 태그를 이용해서 구조화 하는 방법

그리고 지난 포스팅에서 HTML5의 새 태그를 이용해서 구조화한 뒤

새 태그들을 블록엘리먼트화 하는 단계까지 해보았습니다.



그런데 우리는 이렇게 완성된 코드를 실행해보고도 한가지 심각한 문제에 봉착하게 됩니다.

IE에서는 HTML5의 새로운 태그를 새 태그로 인식하지 못합니다.



IE6,7의 developer toolbar나 IE8의 개발자 도구로

작성한 문서의 DOM을 살펴보면



HTML5의 새 태그들이 열기태그는 열기태그대로

닫기태그는 닫기태그대로 따로 노는 꼴(?)을 볼 수 있습니다.




너무 걱정하지 마세요.

IE에서 이 문제를 해결하기 위한 간단한 방법이 있습니다.

아래의 스크립트를 <head>에 삽입하면 IE는 새로운 태그들을 정상적인 엘리먼트로 인식합니다.

IE는 createElement로 새로운 DOM 노드를 생성할때

이렇게 생성된 태그들을 정상적인 엘리먼트로 인식하기 때문입니다.

여러분이 사용할 새 HTML5 태그에 대해서 createElement를 실행해주세요.


<script type="text/javascript">
document.createElement('header');
document.createElement('footer');
document.createElement('section');
document.createElement('aside');
document.createElement('nav');
document.createElement('article');
</script>



이 스크립트를 삽입한 후

문서의 DOM을 확인하시면




이렇게 구조화가 잘 된 것을 볼 수 있습니다.




여기서 한가지 팁을 더 알려드리자면

우리가 자바스크립트를 사용할때 흔히 쓰는 태그 <script>의 속성인 type="text/javascript"가

HTML5에서는 optional 속성과 기본 값이 되었습니다.

그렇기 때문에

<script type="text/javascript">을 <script>로 간단히 표현하셔도 무방합니다.


그렇다면 우리가 CSS를 넣을 때 쓰는 <style> 태그의 속성인 type="text/css"는 어떻게 되었을까요?

네 정답입니다.

HTML5에서는 style 태그의 type속성 역시 optional속성과 기본값으로 text/css를 취하기 때문에

<style type="text/css">를 <style>이라고 표현해도 무방합니다.

출처: 나를찾는 아이
http://trend21c.tistory.com/913

'Html5' 카테고리의 다른 글

html5 검사시 summary 오류  (0) 2012.10.08
iframe 사용  (0) 2011.04.05
html5 브라우저 호환 준비하기  (0) 2011.03.30
HTML5 문서의 구조  (0) 2011.03.30
HTML5 시작하기  (0) 2011.03.30
:

html5 브라우저 호환 준비하기

Html5 2011. 3. 30. 11:26
지난 포스팅에서 HTML5 태그를 이용하여 구조화를 해보았습니다.

이 코드를 브라우저에서 실행해보신 여러분들 여러분들이 원하시는 모양대로 나오던가요?

아마 그렇지 않다 라고 말씀하시는 분들이 많을 겁니다.


근래의 최신 버전의 브라우저들은 HTML5를 충분히 지원하는 경우도 있지만

그렇지 않은 경우가 많기 때문입니다.

그래서 우리는 이 구조화된 코드에 보충 작업을 해주어야 합니다.



대부분의 브라우저들은 HTML5 doctype을 완전히 지원하지 않아

새로운 HTML5의 태그들을 인지하고 있지 않습니다.

좀더 쉽게 설명하자면 "브라우저는 header, footer, section 태그를 모른다" 라는 뜻이지요.

그러나 브라우저들은 자신이 모르는 태그가 나타났을때 이를 유연하게 처리하려고 합니다.

하지만 한가지 이슈는 바로 이러한 새로운 태그들에는 default style이 없다는 것입니다.

그리고 대부분의 브라우저는 보통 새로운 태그들을 inline tag로 취급합니다.

그래서 HTML5의 새로운 태그들로 구조를 잡기 위해서는

마치 우리가 div와 같은 블록엘리먼트를 사용하듯이 블록레벨 엘리먼트로 바꿔줄 필요가 있습니다.


header, nav, article, footer, address {display: block;}


이렇게 말이죠.


여러분이 사용하실 HTML5의 새로운 태그들에 대해서 display:block을 선언해주시면

마치 div 엘리먼트를 다루듯이 사용하실 수 있습니다.


출처: 나를 찾는 아이

'Html5' 카테고리의 다른 글

iframe 사용  (0) 2011.04.05
HTML5의 새로운 태그를 IE에서도 사용하는 방법  (0) 2011.03.30
HTML5 문서의 구조  (0) 2011.03.30
HTML5 시작하기  (0) 2011.03.30
IE8이하 버전에서 HTML5 사용하기  (0) 2011.03.30
:

HTML5 문서의 구조

Html5 2011. 3. 30. 11:24

HTML5에는 문서의 구조를 만드는 markup에 있어서 유용하고 흥미로운 태그들이 추가되었습니다.

이 태그들을 사용함으로써 구조를 잡을때 무심코 쓰던 div를 줄이고, 보다 명확하게 구조화할수 있습니다.


<section>

section은 콘텐츠를 그룹핑할때 쓰입니다.
section안에 section이 존재할수 있기 때문에 중첩해서 사용이 가능합니다.




<header>


section의 헤더에 해당하는 콘텐츠를 마크업할때 쓰입니다.
우리가 보통 <div id="header">라고 쓰는 것을 대체할 수도 있고
<section> 안에서 <header>를 사용함으로써
section 콘텐츠의 header 콘텐츠 라는 것을 표현 할 수도 있습니다.



<footer>

우리가 <div id="footer">라고 사용하는 것을 대체 합니다.
copyright나, 회사주소와 같은 정보들이 포함되는 경우가 많지요.




<nav>

nav는 navigation의 줄임말입니다.
네비게이션 메뉴를 나타낼때 쓰입니다.



<article>

독립적인 글들을 나타낼때 쓰입니다. 블로그의 경우 각 포스팅을 표현할때 흔히 쓸 수 있는 태그 입니다.



<aside>

콘텐츠와 관계있는 부가 정보들을 표시할때 유용한 태그입니다.
우리가 흔히 사이드바 라고 표현하는 콘텐츠들을 담기에도 유용합니다.





HTML5 structure 마크업 예제


<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>html5</title>
</head>
<body>
    <header>
        <h1><a href="#">HTML5</a></h1>
    </header>

    <nav>
        <ul>
            <li><a href="#">메뉴1</a></li>
            <li><a href="#">메뉴2</a></li>
            <li><a href="#">메뉴3</a></li>
            <li><a href="#">메뉴4</a></li>
        </ul>
    </nav>

    <section>
        <article>
        포스팅1
        </article>

        <article>
        포스팅2
        </article>

        <article>
        포스팅3
        </article>
    </section>

    <aside>
        <div>관련글</div>
        <ul>
            <li><a href="#">관련글1</a></li>
            <li><a href="#">관련글2</a></li>
            <li><a href="#">관련글3</a></li>
            <li><a href="#">관련글4</a></li>
        </ul>
    </aside>
    <footer>
        <p>Copyright © 2010 All Rights</p>
    </footer>
</body>
</html>





위 코드를 보시면 알 수 있듯이

우리가 구조화를 할때 쓰는 div 태그가 상당히 많이 줄었음을 알수 있습니다.

이로써 코드를 이해하기에 더욱 쉬워졌으며

중첩된 div를 사용할때 발생 했던 실수들(닫기 태그 삭제 등)을 줄일 수 있습니다.


출처: 나를찾는아이
http://trend21c.tistory.com/911

'Html5' 카테고리의 다른 글

iframe 사용  (0) 2011.04.05
HTML5의 새로운 태그를 IE에서도 사용하는 방법  (0) 2011.03.30
html5 브라우저 호환 준비하기  (0) 2011.03.30
HTML5 시작하기  (0) 2011.03.30
IE8이하 버전에서 HTML5 사용하기  (0) 2011.03.30
:

HTML5 시작하기

Html5 2011. 3. 30. 11:19
HTML5 시작에 머뭇머뭇거렸다면 다같이 흘깃 볼까요?



HTML5에 대해서 간략히 정리된 cheetsheet 입니다.



http://adactio.com/extras/pocketbooks/html5/


이미 웹퍼블리셔로서 왕성히 활동하고 있으며,

HTML4.01과, XHTML 을 이해하고 계신다면

이 문서만 봐도 HTML5에 대한 개념을 어느정도 잡으실수 있으실겁니다.

출처: 나를찾는아이 
http://trend21c.tistory.com/910

'Html5' 카테고리의 다른 글

iframe 사용  (0) 2011.04.05
HTML5의 새로운 태그를 IE에서도 사용하는 방법  (0) 2011.03.30
html5 브라우저 호환 준비하기  (0) 2011.03.30
HTML5 문서의 구조  (0) 2011.03.30
IE8이하 버전에서 HTML5 사용하기  (0) 2011.03.30
:

IE8이하 버전에서 HTML5 사용하기

Html5 2011. 3. 30. 11:14
자 이제까지 HTML5 문서를 만들기 위한 준비과정을 진행해보았습니다.

새로운 엘리먼트들에 대해서도 알아보았고

새로운 엘리먼트들에 대한 기본 CSS정의도 해보았고

IE에서 새로운 엘리먼트를 인식시키는 방법에 대해서도 알아보았습니다.


그럼 이제 좀 더 견고한 HTML5문서를 만들어 봅시다.



<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>HTML5</title>
<link rel="stylesheet" href="css/common.css" type="text/css" />
<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!--[if lte IE 7]>
<script src="js/IE8.js"></script>
<![endif]-->
<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="css/ie6.css" />
<![endif]-->
</head>
<body>
</body>
</html>




conditional comments를 이용하여 HTML5 호환을 위해 IE를 위한 몇가지 조치를 취한 완성된 HTML5 문서구조 입니다.

(conditional comments에 대해서 잘 모르시는 경우 구글링을 통해서 살펴보세요)


1.

<link rel="stylesheet" href="common.css" type="text/css" />

문서와 표현을 분리한 웹사이트에서 가장 근본이 되는 css 정의가 담긴 css 파일입니다.

이 안에 흔히 reset css라 불리는 초기화 css를 넣으세요.

그리고 HTML5의 새로운 엘리먼트를 위한 아래의 css를 추가로 선언합니다.


article,aside,canvas,details,figcaption,figure, footer,header,hgroup,menu,nav,section,summary {
    display:block;
}


HTML5에서 추가된 엘리먼트들을 모두 block엘리먼트로 선언하는 css 입니다.


2.

<!--[if lt IE 9]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->



html5.js는 IE에서 html5 엘리먼트들을 인식시키기 위한 스크립트가 들어있습니다.

conditional comments를 이용하여 IE9 이하 버전에서만 읽히도록 하였습니다.
(IE9는 HTML5를 지원합니다.)

이 js 파일을 인클루드 하시면 HTML5엘리먼트를 IE에서 잘 인식하게 됩니다.

단, 이 js파일은 반드시 <head>안에 넣으셔야 합니다.

홈페이지 최적화 기술중에서 script파일을 문서의 하단에 넣는 방법을 권유하고 있기에

script 태그를 모두 문서 하단에 넣으시는 분들도 있으실 텐데

html5.js 파일의 경우 HTML5엘리먼트를 IE에서 인식시키는 스크립트가 들어있고

이 스크립트는 반드시 IE가 엘리먼트를 렌더링 하기 전에 실행되어야 합니다.

그렇기 때문에 html5.js는 꼭 <head>안에 넣으셔야 합니다.


http://code.google.com/p/html5shiv/



3.

<!--[if lte IE 7]>
<script src="js/IE8.js" type="text/javascript"></script>
<![endif]-->



IE7을 포함한 그 이하 버전의 브라우저에 IE8.js 파일을 인클루드 합니다.

IE8.js는 IE7 이하 브라우저에서 좀 더 브라우저 웹표준 호환성을 준수하도록 스크립트로 적절한 작업을 수행합니다.

IE6이하버전에서 png의 고질적인 문제도 함께 해결해줍니다.


http://code.google.com/p/ie7-js/




4.

<!--[if lt IE 7]>
<link rel="stylesheet" type="text/css" media="all" href="css/ie6.css" />
<![endif]-->


ie7보다 낮은 버전의 브라우저를 위한 CSS를 별도로 담기 위해

ie6.css 파일을 만들고 이를 링크합니다.

이파일은 굳이 만드시지 않아도 상관없지만

향후 HTML5로 마크업을 하고 스타일링을 하고, 최신의 CSS를 사용할때

발생할수 있는 문제를 효율적으로 처리하고자 함입니다.

최악의 브라우저라 불리는 IE6을 위한 것이지요.





휴 이제 HTML5문서를 만들기 위한 준비가 모두 끝났습니다.

이제 이렇게 만든 문서안에 HTML5의 새로운 엘리먼트들을 활용하여

문서를 채우는 일만 남았네요.

수고하셨습니다~

출처: 나를찾는아이 
http://trend21c.tistory.com/918

'Html5' 카테고리의 다른 글

iframe 사용  (0) 2011.04.05
HTML5의 새로운 태그를 IE에서도 사용하는 방법  (0) 2011.03.30
html5 브라우저 호환 준비하기  (0) 2011.03.30
HTML5 문서의 구조  (0) 2011.03.30
HTML5 시작하기  (0) 2011.03.30
: