[Info]Tags categorized posts and contents patterns..

[AJAX] Ajax Code E xamples.. [Book] About the book.. [CSS] CSS Code E xamples.. [DB] Sql Code E xamples.. [DEV] All development stor...

레이블이 웹접근성인 게시물을 표시합니다. 모든 게시물 표시
레이블이 웹접근성인 게시물을 표시합니다. 모든 게시물 표시

2016년 3월 21일 월요일

[EP]KWAG 13회 워크샵 - "Global Web Accessibility와 함께하는 콱" 후기 #2..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

Techniques for WCAG 2.0 - HTML and XHTML Techniques - 윤좌진
이 세션은 HTML and XHTML Techniques for WCAG 2.0에 대한 부분으로 한글문서도 번역되어 제공되고 있습니다.



대체텍스트
텍스트는 어디서나 사용가능하기 때문에 대체텍스트가 가장 사용하기에 접합합니다. img를 사용할 때 alt로 중요한 당어를 반드시 제공해야 하며 form의 이미지 전송버튼도 alt로 대체텍스트를 제공해야 합니다.(간혹 value로 제공하기도 하는데 이는 잘못된 것입니다.) alt로 충분한 정보를 제공할 수 없다면 longdesc를 이용해서 자세한 설명이 있는 곳에 경로를 제공해야 합니다. 과거에는 longdesc에 긴 설명을 넣어야 한다는 의견도 있었지만 일반적으로 링크를 사용하며 반드시는 아니지만 html문서로의 링크를 권장합니다.

  • 동일한 의미의 텍스트와 이미지를 함께 사용하게 될경우에는 alt=""로 처리하여 대체텍스트를 제공하지 않습니다.
  • 이미지의 존재를 무시하도록 하며련 alt와 title을 공백("")으로 만들어 비워둡니다.
  • link에 대해서도 클릭했을 때 어떤 변화가 생기는지를 사용자에게 알려주기 위해서 링크텍스트를 제공합니다.
  • map의 area는 alt와 title을 같이 제공하는 것이 바람직한데 이는 map의 이미지가 나타나지 않았을 때를 위해서입니다.
  • object사용시에는 대체텍스트나 비대체텍스트를 제공해야 하면 이미지로 대체할때는 그 이미지의 대체텍스트를 제공해야 합니다.
  • embed에는 noembed를 사용합니다.
  • 프리픽스 문자어나 축약어를 사용할 때도 대체 텍스트를 제공합니다.
  • frame, iframe에도 title을 사용하며 frame간의 탐색이 용이하도록 합니다.

올바른 마크업

  • 스펙에 맞게 HTML을 사용해야 합니다.
  • 시작태그와 종료태그는 DTD에 맞게 사용합니다.
  • 올바르게 되었는지를 확인하는 1단계는 유효성감사입니다. 현실적인 어려움은 있지만 계속 노력해야 합니다.
  • title태그는 고유한 페이지 제목을 정해야 합니다.(한 웹사이트에서 계속 동일한 타이틀을 사용하지 않습니다.)
  • 문서의 주언어를 설정하여 사용되는 언어를 잘못인식되지 않도록 합니다.
  • 컨텐츠는 가시적인 제목을 지정하는게 좋으므로 h1~h6태그를 사용합니다.
  • 목록에는 ol, ul, dl을 사용합니다.
  • 정의형 목록은 dl, dt, dd를 사용하며 용어와 설명간의 관계를 확실하게 하는 것이 좋습니다.
  • 문장중 강조하려는 것은 의미에 맞는 마크업을 사용하는 것이 좋습니다.
  • 반복되는 블록을 그룹화 하기 위해서 frame을 사용할수 있지만 권장하지는 않습니다.(보통은 서버쪽 기술로 반복되는 블록을 처리합니다.)
  • 사용자측 리다이렉트를 하려면 meta태그의 http-equiv의 refresh속성을 사용하는데 0초 초과로 하면 사용자 히스토리에 남기 때문에 0초 초과로 하지 않습니다.
  • 화면구성이 가로스크롤이 나타도록 하는 레이아웃은 좋지 않습니다.



테이블

  • 테이블의 제목을 위해서 caption태그를 사용합니다.
  • 개요를 위해서는 summary속성을 사용하면 이는 caption과 내용이 중복되지 않도록 합니다.
  • 컨텐츠의 모양을 맞추기 위한 pre태그는 사용하지 않습니다.
  • 제목셀과 내용셀의 정확한 관계를 위해서 scopre, headers, id의 연결관계를 나타내는 것이 좋습니다.

링크

  • URI만으로는 충분한 정보를 제공했다고 할 수 없습니다.
  • 링크의 그룹을 위해서 ol, ul을 사용할 수는 있지만 부분별하게 사용하는 건 좋지 않습니다.
  • 목록이나 단락안의 a태그는 링크에 대한 충분할 설명이 제공되어야 합니다.
  • 새창을 열기 위해서는 target속성을 사용하여 사용자가 인식할 수 있도록 합니다.

Form(서식)

  • 논리적으로 순서에 맞게 작성하고 그럴수 없을경우에만 tabindex를 사용합니다.
  • 서식전송을 위해서 submit버튼이 제공되어야 합니다.
  • select요소의 동작을 실행하기 위해서도 버튼을 활용해야 합니다.
  • 폼컨트롤과 텍스트레이블을 label요소로 연결하며 label로 연결할 수 없을 경우 title로 대체텍스트를 적용합니다.
  • 폼은 fieldset과 legend요소를 사용하여 컨트롤들의 특징에 맞게 그룹화 합니다.
  • select에서는 option을 optiongroup로 묶을 수 있습니다.
  • 필수입력요소는 label이나 legend를 활용합니다.


내용은 알찼지만 스펙의 각내용의 대한 설명의 나열이었기 때문에 세션의 진행이 처음부터 끝까지 동일했기 때문에 장시간 집중해서 듣기에 좀 힘들었습니다. 어찌보면 이는 마크업의 특징상의 어쩔수 없는 부분이라고도 생각합니다. 다른 기술과는 달리 화려함이나 특별히 인상적인 부분없이 각 마크업의 나열식 설명이 될 수밖에 없기 때문에 듣는 입장에서는 약간 지루할 여지가 있다고 생각합니다. 다만 개인적인 의견으로는 스펙에 대한 설명을 처음부터 끝까지 다 하는것 보다는 상당부분은 번역된 문서로 해결될수 있으니 중요한 부분이나 실무에서 적용할수 있는 경험적인 테크닉의 공유쪽에 좀더 비중이 있었으면 하는 아쉬움이 있습니다.


Techniques for WCAG 2.0 - CSS Techniques - 연홍석
이 세션은 CSS Techniques for WCAG 2.0에 대한 내용으로 한글 번역문서도 제공되고 있습니다.

CSS는 표현을 담당하는 언어로 구조에 집중하게 해주는 수단입니다. CSS의 이점은 문서의 구조와 표현을 분리해 준다는데에 있습니다. WCAG의 4가지 원칙중에서 Perceivable와 Operable 2가지가 CSS에 관한 것이고 Understandable는 HTML, Robust는 신기술에 대한 것입니다.




  • spacer이미지 대신 CSS의 margin과 padding을 사용해서 레이아웃을 디자인합니다.
  • 구조적인 마크업을 기반으로 컨텐츠를 배치하여 CSS가 없더라도 구조화된 컨텐츠가 의미를 가지도록 합니다. CSS로 자유롭게 컨텐츠를 배치할 수 있으나 의미가 달라져서는 안됩니다.
  • letter-spacing속성으로 단어내부의 간격을 제어합니다. 띄어쓰기로 처리하면 스크린리더에서 의미가 달라질 수 있습니다.
  • DOM상의 순서가 시각적인 순서와 일치하도록 처리합니다. 순서가 화면과 다르게 되면 스크린리더를 사용하는 사용자는 혼란스럽습니다. 시각적인 순서는 위에서 아래, 왼쪽에서 오른쪽으로 진행됩니다.
  • CSS를 사용해서 포커스를 받을 때 외관을 변경하는 것이 좋습니다.(보통 배경이나 border를 변경합니다.) :focus를 사용하는데 IE7이하헤서는 적용되지 않습니다.
  • 텍스트 컨테이너의 크기를 em단위로 지정하여 텍스트가 커져도 잘리지 않도록 합니다.
  • CSS로 텍스트의 시각적인 표현을 제어하고 이미지텍스트는 사용을 지양합니다.
  • CSS를 사용해서 텍스트를 텍스트이미지로 대체하고 상호 전환할 수 있는 사용자 인터페이스 컨트롤을 제공할수 있습니다. 이는 IR(Image Replacement) 기법을 사용합니다.
  • CSS로 왼쪽/오른쪽 정렬중 하나를 지정합니다.
  • 브라우져의 리사이즈 시 행의 평균 글자수가 80자 이내가 되도록 컬럼폭을 상대적인 크기로 지정합니다.
  • 배너나 네비게이션같은 부가 컨텐츠에만 CSS로 텍스트와 배경의 색상을 지정하고 메인 컨텐츠에는 지정하지 않아 사용자가 메인 컨텐츠의 색상을 변경할 수 있도록 합니다.
  • CSS를 사용해서 컨테이너의 크기를 퍼센트값으로 지정합니다.
이 세션도 마찬가지로 문서의 스펙설명을 위주로 진행이 되었습니다. 특성 주제를 이용해서 관련된 스펙들에 대해서 설명하였는데 HTML세션과 마찬가지로 세션의 굴곡이 없는 스펙설명의 나열이었기 때문에 지루한 느낌이 드는 것은 어쩔수 없었습니다. 특성상 어쩔수 없다고 생각하는(개인적인 의견으로) 마크업과는 달리 CSS의 경우는 보여줄수 있는 요소들이 더 많았음에도 스펙위주로 설명이 된 것은 약간 아쉬웠습니다. 마지막에 약간의 데모시연이 있었지만 설명중간중간에 섞여서 구성되었다면 좀더 낫지 않았을까 하는 생각이 듭니다. 앞세션과 마찬가지로 좀더 현실적으로 구체적인 설명이 함께 되었다면 좋은 내용이 더 전달이 잘 되었을 것 같습니다. 스펙설명임에도 각 내용이 중요하다는 부분이라는 것은 굳이 언급하지 않아도 되겠죠 ㅎ


Techniques for WCAG 2.0 - Client-side Scripting Techniques - 김태곤
이 세션은 Client-side Scripting Techniques for WCAG 2.0에 대한 내용으로 한글번역문서도 제공되고 있습니다.(추가적으로 WCAG 2.0을 위한 ARIA 기법도 번역되어 있습니다.) 김태곤님의 발표자료는 블로그에 올라와 있습니다.



장치 독립성을 위해서 마우스 이벤트에 키이벤트를 같이 제공하여야 합니다. 다만 click에 대응하는 keypress에 대해서는 모든 키입력에 반응하기 때문에 Enter인지를 확인하는 코드가 추가되어야 합니다.
시간제어는 사용자에게 충분한 시간을 제공해 주어야 함을 의미합니다. 페이지에 제한시간이 있을 경우 제한시간의 중단, 조절, 연장중 최소한 1가지는 제공해 주어야 하며 실시간이 중요하거나 제하시간이 필수이거나 제한시간이 20시간 이상일 때 3가지 예외상황만 있습니다.
사용자 인지는 스크린리더같은 보조기술에서 얼마나 인식될 수 있는가 하는 부분입니다. 동적인 컨텐츠는 이벤트가 발생한 요소 바로뒤에 삽입해주어야 이상없이 스크린리더가 읽어줄 수 있습니다.


시간이 약간 초과된 관계로 이 세션을 빠르게 진행되기도 했고 스크립팅에 대한 부분이어서 흥미롭게 들었습니다. 키이벤트까지 추가되어야 한다는 것은 처음 듣는 얘기라서 정말 그렇게 해야하는 가는 약간 고민해야 보긴 해야겠지만 그외내용들은 생각지 못했던 부분이었던 관계로 상당히 알찼다고 생각하고 있습니다.

Epilogue
웹접근성에 상당히 관심이 있고 지지하고 있지만 관련한 실제 테크닉에 대해서는 많이 모르고 있었던 건 사실이었습니다. 퍼블리싱이 주 업무가 아니기 때문에 학습에 많은 시간을 할애하지 못한것도 사실입니다.

전체적으로도 꽤 의미있는 세미나였지만 마지막 전체 QA시간이 이 세미나에서 가장 인상적이었습니다. Q&A중에 한분이 질문을 하면서 자신의 내용을 공유하고 싶다고 하셨습니다. 보통 Q&A시간에는 질문이 아니라 쓸데없는 다른 자기 얘기하는 사람도 많기에 이번에도 그런가보다 하고 있었는데 이분이 나눠준 얘기가 아주 중요한 얘기였습니다.

이분은 실제로 약시 1급를 가진 시각장애인이셨는데 다른 시각장애인에게 접근성에 대한 많은 교육을 몇년동안 하셨습니다. HTML세션에서 얘기나왔던 longdesc에 대해서 테크닉적으로 여러 얘기를 나누었지만 국내 시각장애인중에는 longdesc를 어떻게 보는지 알고 있는 사람이 거의 없다고 하였습니다. longdesc가 있을 경우 스크린리더가 설명이 있다는 표시는 해주지만 그 설명을 보려면 단축키(Alt+Enter)를 눌러야 하는데 그에 대해서 아는 사람이 없기 때문에 longdesc를 개발자들이 사용하더라도 실제 시각장애인에게는 도움이 되지 않고 수백자 정도는 alt에 넣어주는 것이 오히려 좋다는 얘기를 공유해 주셨습니다.(이부분이 그동안 국내에서는 longdesc를 거의 사용안했기 때문에 그분들이 그걸 사용할 일이 없었기 때문에 기인한 일인지 원래 많이 쓰지 않는 기능인지는 잘 모르겠습니다.)

접근성에 대해서 생각하면 가장 어려운것이 이론으로만 어디서 찾아봤지 실제로 장애인들이 어떻게 사용하는지 모른다는 것이었습니다. 최근에는 관련자료도 많이 나와서 스크린리더가 어떻게 동작하는지에 대한 동영상들도 있고 정보문화진흥원에 가면 스크린리더를 체험해 볼 수 있는 시설이 있기는 하지만 말그대로 체험일뿐 실제 사용하는 사람과는 많이 다를 수밖에 없습니다. 구글도 접근성부분을 실제 장애인들이 많이 담당하고 있는 것으로 알고 있는데 국내에도 이런 실제적인 도움이 많이 필요하다고 생각됩니다.(명함을 받아오기는 했는데 개인적으로는 다음에 FRENDS에서 세미나라도 하게되면 이분께 이른부분에 대한 한세션을 부탁드리고 싶을 정도더군요. ㅎ)

오랜만에 회사에서 보내준 세미나인데 웹접근성에 대해서 생각을 많이 정리하고 동기부여도 많이 된 세미나였습니다. (물론 현실에서의 적용을 멀고 먼 길이지만요... 개인적으론 접근성은 테크닉보다는 마인드의 문제라고 생각합니다.)

[EP]KWAG 13회 워크샵 - "Global Web Accessibility와 함께하는 콱" 후기 #1..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

지난 7일 등촌동에 있는 한국정보문화진흥원에서 한국웹접근성그룹인 KWAG에서 진행하는 13회 워크샵이 진행되었습니다. 9월에도 세미나를 2개나 신청했다가 업무가 바빠서 참가를 못했었기에 이번에도 고민하다가 일단 신청해놓고 눈치살피다가 다행히도 갈 수 있게 되어 잽싸게 참석을 했습니다.

사용자 삽입 이미지


Web Accessibility: Progress, Resources, and Future Challenges - Judy Brewer (W3C WAI 의장)
첫 세션은 WAI(Web Accessibility Initiative)의 의장을 역인하고 있는 Judy Brewer의 세션이었습니다. 웹접근성에서 중요한 점은 한가지 특정장애가 아닌 여러가지 장애를 가진 사람들에게 영향을 미칠 수 있다는 것입니다. W3C 웹접근성 가이드라인(Web Content Accessibility Guidelines (WCAG) 2.0 - 워캑이라고 읽습니다.)을 준수하면 이 모든 것을 해결할 수 있으며 아래의 원리도 모두 적용할 수 있습니다.




웹컨텐츠 접근성의 원리

  • 인신의 용이성(Perceivable) - 컨텐츠가 인식되기에 용의해야 하며 모든 사용자가 동등한 수준의 정보를 얻을 수 있어야 합니다. 이미지는 대체 텍스트가 필요하고 미디어는 캡션등이 제공되어야 합니다. 또한 사용자들이 쉽게 컨텐츠를 인식하도록 배경색등도 고려되어야 합니다.
  • 운용의 용이성(Operable) - 사용자가 마우스, 키보드 혹은 머리나 몸을 이용한다고 하더라도 페이지를 조작할 수 있어야 하며 네비게이션을 수월하게 할 수 있어야 합니다. Form을 작성할 때는 충분한 시간을 사용자에게 제공해 주어야 합니다.
  • 이해하기 쉬워야 합니다.(Understandable) - 가독성도 높여야 하며 컨텐츠의 내용도 너무 어렵지 않게 구성되어야 합니다. 디자인에 일관성을 유지하게 되면 사용자들이 예측할 수 있기 때문데 접근성을 더 좋게 할 수 있으면 Form을 작성할때는 시기적절하게 추가정보를 제공해 주어야 합니다.
  • 견고성(Robust) - 장애인들이 사용하는 장비들(스크린리더, 음성인식, 눈으로 조작하는 장비 등)과 잘 호환될 수 있어야 합니다.

WAI(웨이)는 W3C의 일부로써 웹접근성에 대한 기반을 마련하는 것이 주활동입니다. W3C에서 새로운 표준을 만들 때마다 WAI가 함께 참여해서 접근성에 대한 검토를 하게 됩니다. 몇년전에 HTML 4.01과 CSS에 대한 접근성 검토를 하였고 HTML5에도 참여하고 있는데 현재 일부 접근성과 관련된 수정되어야 할 부분이 있어서 아직 확정되지 않은 상태입니다. 또한 웹사이트의 접근성을 체크하기 위한 툴을 개발하고 있으며 한국에서도 NIA가 한국어툴을 제공(찾아보니 현재 최신버전은 K-WAH 3.0이더군요.)하고 있는 것으로 알고 있습니다. WAI는 작업을 할 때 항상 많은 사람의 참여를 기다리고 있으며 누구나 참여할 수 있습니다.

웹접근성관련한 지침에는 ATAG, WCAG, UAAG가 있습니다. 이 3가지를 모두 적용해야 합니다.
ATAG(Authoring Tool Accessibility Guidelines)는 저작툴에 대한 접근성을 위한 지침입니다. 소프트웨어 개발자들을 대상으로 하고 있으며 어떻게 하면 접근성이 있는 소프트웨어를 만들수 있는가를 위한 것입니다. 오쏘링툴을 선택할 때 ATAG가 적용된 제품을 선택하면 접근성있는 웹사이트를 제작하는데 도움을 받을수 있고 2.0은 현재 Last Call Working Draft상태입니다. HTML에디터, CMS, 블로깅툴, 위키 소프트웨어가 모두 오쏘링툴에 포함됩니다. WCAG(Web Content Accessibility Guidelines)은 웹사이트 컨텐츠의 접근성에 대한 가이드라인을 제공하고 있으며 UAAG(User Agent Accessibility Guidelines)는 방문자와 사용자들을 위한 것으로 사용자들의 웹브라우저 같은 툴에 대한 가이드라인입니다.

올해 WCAG 2.0이 완성되었습니다. 아직 사용하고 있지 않다면 꼭 사용하기를 권하며 이 지침을 따르면 접근성을 상당히 향상시킬 수 있습니다. 1.0때에 비해서 접근성부분에서 많이 발전하였습니다. HTML, CSS등 많은 기술에 적용할 수 있으면 W3C의 표준기술들은 물론 표준이 아닌 실버라이트나 PDF등에도 적용할 수 있습니다. 더군다나 2.0에서는 개발자들에게 많은 여지를 주고 있기 때문에 개발자들이 탄력적으로 쉽게 적용할 수 있습니다. 현재 샘플코드등의 라이브러리를 확보하려고 계속 노력하고 있습니다.

WAI-ARIA(Accessible Rich Internet Applications)는 Ajax나 DHTML등을 사용할때 스트립팅에 대해서 많은 더움을 받을 수 있습니다. 다이나믹한 웹사이트는 접근성을 확보하기가 더 어렵기 때문에 WAI-ARIA는 유용하며 이는 가이드라인이 아닌 테크닉에 대한 것이기 때문에 WAI-ARIA를 적용하면 WCAG을 따르는데도 도움이 됩니다.

KWAG 13회 워크샵      KWAG 13회 워크샵


Q&A
1. 웹접근성과 유니버셜 디자인은 어떻게 다른가?

웹접근성이 결국은 유니버셜 디자인 중의 하나가 아닌가 생각합니다. 웹 접근성에 대한 접근이 비단 장애인뿐만 아니라 모두를 위한 것이기 때문입니다. 몇몇사람들은 이를 오해해서 특정 장애를 위해서 따로 사이트를 만들면 되지 않겠냐고 주장하지만 이는 어떤 장래를 가진 사람이 있는지 파악하기도 어렵고 컨텐츠를 업데이트해주는데도 문제가 있습니다. 가장 좋은 방법은 하나의 웹사이트를 접근성을 향상시켜 구축하는 것입니다.

2. WCAG 2.0을 제정할 때 가장 어려웠던 점은 무엇입니까?

가장 좋았던 점을 먼저 말하자면 전 세계에서 많은 사람이 오랫동안 함께 참여해서 2.0이 제정되었다는 것입니다. 어려웠던 점은 WCAG 2.0이 기술중립성을 갖도록 만드는 것이었습니다. 가장위에 원칙을 두고 그 아래 지침을 두고 그 아래 세부적인 내용을 두어 많은 곳에 적용이 될 수 있도록 하였습니다. 기술중립성이라는 것은 어떤 기술이든 적용할 수 있게 했다는 것이고 미래를 생각하며 만들었습니다.

3. 접근성과 사용성의 차이와 기준에 대해서...

웹접근성은 구체적으로 장애인들이 웹사이트를 사용하도록 한다는 것이고 사용성이라는 것은 좀더 일반적인 개념이라고 할 수 있습니다. 물론 둘 사이에 중복되는 부분이 있습니다.

4. 외부에서 한국의 접근성 정책과 수준에 대한 생각은 어떠합니까?

한국에서 많은 활동이 진행되고 있다는 것은 고무적인 일이라고 할 수 있으며 정책이나 교육들이 점점 늘어가고 있는 것으로 알고 있습니다. 하지만 앞으로 발전되어야 할 부분이 더 많다는 것을 들었고 민간이나 기업들에 더 많은 보급이 필요한 것으로 알고 있습니다.

Judy Brewer의 발표자료는 웹접근성 연구소에 올라와 있습니다.


저도 모르고 갔지만 Judy Brewer도 장애를 가진 사람이었습니다. 광과민성 발작때문에 세미나중에 플래시촬영이 금지가 되었으며 휠체어에 앉은채 진행이 되었습니다. 편견을 가지려는 것은 아니지만 장애를 가진 사람이 직접 접근성에 대한 활동을 한다는 것이 그것도 WAI의 의장직을 맡고 있다는 것이 꽤 인상적이었습니다. 훨씬 가치있고 실질적인 효과가 있으리라고 생각합니다.(국내에서는 이런 부분에서는 참 아쉽기만 합니다. 사람들의 활동이 아쉽다기 보다는 사회구조상 장애인들이 중요한 위치에 올라설 기반이 부족하다고 생각중입니다.)
아무래도 WAI 의장의 세션이었기 때문에 테크니컬적이지 않음에도 저에게는 상당히 유용한 세션이었습니다. 웹접근성에 대한 개념과 태도도 아주 명확했으며 그동안 막연히만 알고 있던 부분도 많이 정리가 되었습니다. 사실 저는 웹접근성을 장애인에 대한 문제가 아닌 웹의 보편성의 문제라고만 생각하고 있었는데 이부분은 제가 좀 오해하고 있었던것 같았습니다.(이부분은 진보넷의 "웹 접근성 국제 세미나, 2010"에서 이뤄진 댓글들을 보면 꽤 많은 도움이 된다고 생각합니다.) 그동안 웹표준뿐만 아니라 웹접근성에도 많은 관심을 가지고 지지하고 있었지만 세부적인 부분에 대해서는 많이 알지 못했는데 많은 동기부여가 되는 시간이었습니다.


Section 508 and the ICT Refresh of the 508 Standard - Timothy Creagan
Timothy Creagan은 미국 접근성위원회에서 재활법 508조에 대한 담당자입니다. 재활법 508조는 그전의 10년전 쯤에 제정된 255조가 많은 시간이 지나면서 환경이 달라졌기 때문에 새로 개정한 것입니다. 2001년에는 사용자들이 직접 애플리케이션을 가지고 있었고 각 기기들은 한가지 기능만 가지고 있었는데 이제는 많이 달라졌고 카테고리도 다양해 졌기 때문에 미정부에 납품하는 전자제품들 조달에 대한 새로운 508법이 제정되었다고 합니다. 508에 대한 제안을 하고 이를 공청회등을 통해 대중에게 검증을 받은뒤에 올초에야 마무리가 되었습니다. 이 작업은 WCAG과 조화를 이루었기 때문에 WCAG 2.0을 준수하면 재활법 508을 준수할 수 있습니다.




Timothy Creagan의 발표자료는 웹접근성 연구소에 올라와 있습니다.


웹접근성은 기업들의 입장에서는 동기부여를 강제하기가 어려운 점이 있기 때문에 관련 법 제정은 정말 중요한 부분이라고 생각하고 있습니다. 그럼에도 아무래도 법적인 얘기를 였기에 약간은 지루했습니다. ㅎㅎ


2016년 3월 17일 목요일

[EP]HTML5 오픈컨퍼런스 #2..

출처 : Outsider's Dev Story https://blog.outsider.ne.kr/

HTML5 API 소개 - 경준호
네번째 세션은 HTML5의 Javascript API에 대한 세션으로 현재 같이 활동을 준비하고 있는 프론트앤드 개발자 커뮤니티인 FRENDSfirejune님이 발표하시고 일부 데모를 AJ가 시연하기로 되어 있어서 가장 기대하고 있던 세션이었습니다.(다른 세션들의 주제보다 Javascript에 더 관심이 많기도 하고요.)

HTML5의 PPT를 HTML5로 만들어서 인기를 끌었던 것을 그대로 이용해서 발표를 해주셨습니다. (Dog Food 같은 느낌일까요? ㅎ) HTML5의 능력도 보여주면서 PT내에서 바로 Demo도 시연해 볼 수 장점이 있기 때문에 HTML5 발표에는 아주 효과적이라고 생각하고 있습니다. Audio와 Video는 기본적으로 컨트롤을 제공하고 있으며 Javascript를 이용해서 제어할 수 있지만 현재 코덱등의 지원여부가 브라우저마다 달라서 사용하는데는 아직 어려움이 있습니다.

HTML5 API 소개 발표

Canvas의 핵심은 비트맵을 동적으로 Javascript를 이용해서 생성할 수 있다는 것입니다. Mr. doob사이트의 데모를 보여주면서 "웹개발자가 이런것까지 해야 싶기도 하다"고 하셔서 사람들의 웃음을 자아내셨습니다.(여러가지로 firejune님의 발표는 많이 유쾌한 발표였죠.) IE9 preview 3에서 Canvas를 지원하게 됨으로써 이제 모든 브라우저 벤드들이 Canvas를 지원하게 되었습니다. Canvas를 이용하면 인터렉티브한 UI를 만들어 낼 수 있고 리소스를 이용하는 것이 아니라 직접 만들어 낼 수 있다는 것이 특징입니다.(jsdo.it)

SVG(Scalable Vector Graphic)의 사용법은 HTML마크업과 유사한 방식으로 사용하고 벡터그래픽이기 때문에 확대를 하여도 깨지지 않습니다. (SVG JS라이브러리 Raphael) 기존에 이미지를 이용하던 것들을 직접 만들어 낼수 있으며 SVG가 없을때는 Canvas로 그래프등을 구현하였지만 사실 적절한 용도는 아니었습니다.

HTML5에서는 새로운 셀렉터들이 추가되었는데 오래 기다리던 클래스명으로 가져오는 getElementsByClassName가 드디어 Native로 추가되었으면 CSS셀렉터로 가져오는 querySelectorAll, querySelector도 Native화 되었습니다. Notification은 현재 크롬에서만 지원하고 있으며 Notification 창은 브라우저의 최상단에 표시가 됩니다.

Web Workers가 추가되여 부하가 심함 Javascript에 대한 처리를 빠르게 할 수 있으면 어쩔수 없이 무거웠던 Drag & Drop도 네이티브화 되어서 이전의 무거움은 사라져버렸습니다. File API를 이용하면 input file의 바이너리내용을 서버에 업로드하지 않은 상태에서도 파악할수 있기 때문에 파일에 대한 유효성체크를 쉽게 할 수 있고 파일내부의 id3나 exif같은 정보의 추출도 할수 있고 이미지의 일부만을 잘라서 업로드 하는 것도 가능해졌습니다. Web GL은 현재로써는 안전적인 버전의 브라우저에서는 제공하지 않고 개발중인 버전에서만 사용가능한 상태입니다.

Key-Value로 저장할 수 있는 Web Storage가 추가되었으며 Web SQL Database가 추가되어 웹브라우저가 Database를 보유하게 되었습니다. SQLite를 사용하고 있으며 항상 비동기적으로 처리하기 때문에 결과는 콜백으로 받아야 하고 공식명세로 잘 지원되고 있습니다. IndexedDB는 Web SQL Database보다 사용법이 훨씬 Javascript다우며(Web SQL Database는 SQL쿼리를 이용합니다.) 아직 개발버전으로 거의 지원이 안되고 있어서 파이어폭스의 개발버전에서 테스트해 볼 수 있습니다. Application Cache API는 로컬 스토리지등의 내용은 오프라인상태에서도 사용이 가능한데 이 데이터를 이용하기 위해서는 웹페이지의 Javascript나 이미지등이 필요하기 때문에 이 API를 이용해서 필요한 파일을 캐시하도록 지정할 수 있습니다.

Server-Send Event는 일종의 Push기술로 지속적으로 풀링을 하지 않고 이벤트를 받을 서버 주소를 작성하여 놓고 사용합니다. 헤더에 Conntent-type:text/event-stream를 지정해야하고 data에 값을 넣어서 클라이언트쪽에 전달합니다. 그리고 WebSocket과 Geolocation 기능이 추가되었습니다.

발표자료 보기

발표의 마지막은 AJ의 DICOM 시연으로 이어졌습니다.(지난번 FRENDS 첫 모임에서 이미 보았기 때문에 공개적으로 발표하는 부분에서 큰 기대감을 가지고 있었습니다.) DICOM이란 것은 저도 자세히는 모르지만 의학쪽에서 MRI를 신체의 단면을 몇미리단위로 촬영을 하게 되는데 이 수십,수백장의 사진들을 보면서 의사들이 병을 진단하게 됩니다. 이 시스템을 순수 웹기술만으로 구현한 것입니다.

DICOM 시연 화면 DICOM 시연 화면

제가 아는 범위 내에서는 node.js를 이용해서 서버에서 이미지를 바이너리로 전달하고(아마도 Web Socket) Web Worker가 3개가 돌아가면서 이 바이너리들을 이미지로 처리해서 보여주는 것으로 알고 있는데 그 크기와 복잡함에 비해서 이미지가 전환되는 자연스러움은 가히 입이 딱 벌어질 만한 충격적이라고 생각합니다. 컨퍼런스에 오신 분들의 반응은 정확히 모르겠지만 개발자가 아니신 분도 상당수있는 것으로 보였고 시간 관계상 자세한 설명까지는 되지 못해서 얼마나 전달이 되었는지 모르겠습니다.(더 자세한 내용은 Ajaxian.kr을 참고하세요.)


HTML5 기반 모바일 웹 - 권정혁
모바일에서 웹이 중요한 이유는 구글조차도 모든 플랫폼에 대한 모바일 앱을 만들 돈을 없다고 할정도로 플랫폼별 앱을 만드는 것은 어려우며 모바일웹은 간단히 모든 플랫폼을 지원할 수 있기 때문입니다.

HTML5 기반 모바일 웹 발표HTML5 기반 모바일 웹 발표

모바일 웹 앱의 장점은 다양한 플랫폼을 동시에 지원이 가능하고 서버기반의 앱이기 때문에 신속한 업그래이드를 할 수 있으며 웹개발자들에게 친숙한 환경이라는 것입니다. 현재 Camera와 Device등에 대한 지원은 준비중에 있습니다.

Gmail 사이트를 보면 로컬저장을 사용하고 있으며 단하나의 HTML파일만을 사용하고 있어서 CSS, Javascript파일도 HTML내에 임베디드되어 있고 이미지조차도 base인코딩으로 처리해놓아서 단한번의 Request만으로도 페이지를 로딩할 수 있다는 것이 인상적입니다.

모바일웹앱을 위한 라이브러리로 WebApp, jQTouch, Sencha Touch등이 있으면 Apple에서 제공하고 있는 iAD JS도 있습니다. 발표에 대한 내용은 발표자인 xguru님께서 아래 링크에서 잘 정리해 주셨습니다.

발표자료


한국형 웹 콘텐츠 접근성 지침 2.0 - 현준호
사실 이 세션은 저한테는 큰 관심을 끌지 못했었습니다. 웹 접근성이 중요하지 않다는 것이 아니라 발표전에는 공무원이 와서 발표하는 것으로 생각되었기 때문입니다.(과거 공공 SI에 있었던 선입견으로 인하여 현실에는 말도 안되는 탁상공론만 하겠구나 하는 생각이었습니다.) 하지만 이 분은 공무원도 아니었고 내용자체가 상당히 충실하고 알찼습니다.(접근성은 중요한 내용인데 잘 몰라서 적용하기가 쉽지 않은 부분이죠.)  요약하기가 쉽지 않은 내용이므로 발표자료로 대신하겠습니다.

발표자료


Eplilogue
저는 10만원씩 하면서 거창한 타이틀을 달고 있는 세미나등은 잘 가지 않습니다. 가본적은 있는데 보통 무료 혹은 저가 세미나보다 못한 경우도 허다했으며 두리뭉실한 얘기나 하는 경우가 많았기 때문입니다. 이 세미나는 10,000원짜리 세미나인데 이정도면 유료라는 느낌보다는 참가에 대한 책임감 정도로 생각하고 있습니다. 발표자들도 나름 초호화로 생각되었기 때문에 기대감을 가지고 참가했는데 아주 만족스러운 발표였다고 생각합니다.

세미나 후 발표자 QA 시간

사전에 발표자들이 준비한 책자를 준다고 해서 사실 일반적으로 하는 발표자료를 인쇄해주는 정도로 생각했습니다만 발표자료 외에 발표자들이 자신이 맡은 주제들에 대해서 따로 내용을 정리한 부분을 책으로 만들어서 나누어주었습니다. 책 내용을 다 보진 않았지만 상당히 알차서 HTML5를 공부할 때 많은 도움이 될듯 합니다. 이 실전 HTML5 가이드는 참가한 사람들에게는 책으로 나누어 주고 참가못한 사람들에게는 PDF버전으로 무료로 공개해주는 아름다운 모습까지 보여주었습니다.

실전 HTML5 가이드 책

개인적으로 현재 HTML5는 써먹기 어려운 부분도 있고 브라우저의 지원여부에 대한 문제도 있기 때문에 앞으로도 갈길이 많기는 하지만 HTML5가 앞으로 보여줄 혁신은 언제고 간에 반드시 올 것이기 때문에 웹개발자라면 꼭 준비해야 하는 부분이라고 생각하고 있습니다. HTML5가 아이폰때문에 이슈화도 많이 된 관계로 HTML5에 대한 관심이 모바일 때문인 경우도 많고 이때문에 웹표준이라는 취지에 대한 오해를 갖는 모습도 보이기는 하지만 이전보다는 확실히 나은 위치에 있기 때문에 문제점들은 차차 해결해 나갈수 있으리라 기대하고 있습니다. 어차피 기술은 기술이고 중요한 것은 어떻게 어디에 사용하냐는 것이겠지요.

아무튼 보면 볼수록 흥미로운 HTML5 입니다. 올해 꼭 차근차근 준비해야겠네요. ㅎ