사이트 내 전체검색
웹표준화 웹 브라우저의 키보드 탐색(Navigation)에 관련 정보 (NHN :: WSG > Blog > NAVER)
최고관리자
https://cmd.kr/server/12 URL이 복사되었습니다.

본문

Enter
Hyperlink된 페이지를 방문하거나 Form을 Submit하는 기능
Space
Check, Radio 콘트롤의 상태를 전환하거나 Button을 누르는 기능
Ctrl+F
웹 페이지 내에서 문자열을 찾는 기능
Tab, Shift+Tab
Internet Explorer, Firefox에서는 Anchor와 Form 항목을 탐색
Opera와 Safari에서는 Form 항목만 탐색

Opera의 Anchor 탐색키 활용법

Opera는 Tab키로 Form만 탐색이 되기 때문에 Anchor에는 접근이 되지 않습니다. 하지만 Anchor에 접근하는 탐색키가 별도로 존재합니다.

A
Anchor를 아래쪽으로 탐색합니다.
Q
Anchor를 위쪽으로 탐색합니다.
Shift+(left, right, up, down)
Anchor를 원하는 방향으로 탐색합니다.

Safari의 Anchor 탐색키 활용법

Safari는 본래 Tab키로 Anchor와 Form의 탐색이 모두 가능하지만 설치 직후 기본설정 옵션을 변경하지 않는 한 Form만 탐색하도록 되어 있습니다. Tab키가 Anchor까지 탐색할 수 있도록 하려면 아래와 같이 기본설정을 변경해 주어야 합니다.

  1. 편집
  2. 기본설정
  3. 고급
  4. 손쉬운 사용
  5. ‘Tab을 눌러 웹 페이지에 있는 각 항목을 선택표시’에 체크

Safari의 Tab키 기본설정 변경 대화상자

웹 제작자가 제공하는 접근키 활용법

네이버는 별도의 도움말을 제공하지 않고 있지만 검색 Form과 로그인 Form에 키보드로 직접 접근할 수 있는 접근키를 제공하고 있습니다. 검색 Form에는 Search를 의미하는 ‘S‘키가 할당되어 있고 로그인 Form에는 Login을 의미하는 ‘L‘키가 할당되어 있습니다. 이러한 알파벳키(또는 숫자키)들은 브라우저에서 지원하는 다른 키와 조합시켜서 사용하여야 하는데 Internet Explorer와 Safari 브라우저라면 Alt키와 접근키를 조합해서 사용할 수 있고 Firefox와 Opera는 이 조합키가 또 다릅니다. Firefox는 Alt+Shift+Accesskey로 접근이 가능합니다. Opera는 Shift+Esc키를 누르면 현재 페이지의 Accesskey를 보여주고 그 다음 웹 페이지에 할당된 Accesskey를 누를 수 있는데 이 방식의 장점은 현재의 페이지에 어떤 Accesskey가 할당되어 있는지 한눈에 알 수 있다는 점입니다. 웹 브라우저 별로 접근키(Accesskey)와 조합시킬 수 있도록 제공된 조합키는 아래와 같이 다릅니다.

Internet Explorer, Safari
Alt+Accesskey
Firefox
Alt+Shift+Accesskey
Opera
Shift+Esc+Accesskey 확인+Accesskey

웹 제작자의 접근키 제공방법

웹 페이지 제작자는 접근키를 제공할 때 HTML 코드를 다음과 같이 작성합니다. 접근키는 알파벳과 숫자 및 일부 특수문자키가 가능하며 DTD와 무관하게 대소문자를 구분하지 않으나 보통 대문자 ‘I(아이)’ 와 소문자 ‘l(엘)’은 모양이 같아서 혼동될 수 있으므로 대문자 사용을 권장 합니다.

<input type="text" accesskey="S" title="검색" />
<input type="text" accesskey="L" title="로그인 ID" />

저희 웹 표준화팀에서는 웹 접근성에 관한 R&D를 진행하면서 ‘키보드 접근키‘에 관하여 정리한 내용이 있으므로 함께 참고해 보실것을 권합니다. 그 밖에 웹 브라우저에 할당된 더 많은 사용자 편의 키 목록들에 대하여 알고 싶으시면 ‘나에게 잘 맞는 웹 브라우저 선택하기‘ 라는 글도 도움이 되실것 같습니다.

Filed under: NAVER ? written by 정 찬명 @ 3:18 am 답글 (0)

선택시 볼드체로 바뀌는 텍스트메뉴 (2007.3월23일)

벤치에 앉아서 잠시 햇살을 즐기고 싶은 따뜻한 봄날 오후네요. ^^

지금부터는 텍스트의 길이는 가변이지만 텍스트 사이를 구분하는 bar 이미지의 위치는 변하지 않고 메뉴 선택 시엔 볼드체로 바뀌는 메뉴를 <li> 태그를 사용하여 만들어보도록 하겠습니다.

메뉴의 특징

  • 텍스트의 길이가 일정하지 않다.
  • 첫 메뉴 앞의 bar 는 없다.
  • 선택된 메뉴는 볼드체로 바뀌고 블릿의 색상도 바뀐다. 볼드체로 바뀌어도 메뉴 사이 bar 의 위치는 고정이다.

css 및 html 은 다음과 같이 만들 수 있습니다.

CSS
ul.tab_sub {height:14px; margin:14px 0 10px 0; }
ul.tab_sub li {float:left; vertical-align:top; font-size:12px; }
ul.tab_sub li a {float:left; height:14px; padding:0 12px 0 26px; background:url(http://html.nhndesign.com/img_blog/jin0/li_menu/tab_sub_off.gif) no-repeat left 1px; text-decoration:none; font-size:12px; }
ul.tab_sub li a:link, ul.tab_sub li a:visited {color:#333; text-decoration:none; }
ul.tab_sub li a:hover, ul.tab_sub li a:active {color:#00A5B7; text-decoration:none; }
ul.tab_sub li.selected a, ul.tab_sub li.selected a:hover {padding:0 11px 0 26px; background:url(http://html.nhndesign.com/img_blog/jin0/li_menu/tab_sub_on.gif) no-repeat left 1px; font-weight:bold; letter-spacing:-1px}
ul.tab_sub li.first a {float:left; height:14px; padding:0 12px 0 26px; background:url(http://html.nhndesign.com/img_blog/jin0/li_menu/tab_sub_off.gif) no-repeat -1px 1px; }
ul.tab_sub li.firstselected a, ul.tab_sub li.firstselected a:hover {background:url(http://html.nhndesign.com/img_blog/jin0/li_menu/tab_sub_on.gif) no-repeat -1px 1px; font-weight:bold; letter-spacing:-1px}
*html ul.tab_sub li.selected a, ul.tab_sub li.selected a:hover, ul.tab_sub li.firstselected a, ul.tab_sub li.firstselected a:hover {padding:0 11px 0 26px; }
메뉴 선택 전
<ul class="tab_sub">
<li class="first"><a onfocus="this.blur()" href="#">조건검색</a></li>
<!? 첫번째만 class="first" 선택되었을때는 class="firstselected"?>
<li><a onfocus="this.blur()" href="#">추천대화상대</a></li>
<li><a onfocus="this.blur()" href="#">최근대화상대</a></li>
<li><a onfocus="this.blur()" href="#">접속중인 친구</a></li>
<li><a onfocus="this.blur()" href="#">접속중인 길드원</a></li>
</ul>
메뉴 선택 후
<ul class="tab_sub">
<li class="first"><a onfocus="this.blur()" href="#">조건검색</a></li>
<!? 첫번째만 class="first" 선택되었을때는 class="firstselected"?>
<li class="selected"><a onfocus="this.blur()" href="#">추천대화상대</a></li>
<li><a onfocus="this.blur()" href="#">최근대화상대</a></li> <li><a onfocus="this.blur()" href="#">접속중인 친구</a></li>
<li><a onfocus="this.blur()" href="#">접속중인 길드원</a></li>
</ul>
가장 중요한 특징은 선택된 메뉴가 볼드체로 될 때 {letter-spacing:-1px} 을 넣어준다는 것입니다. 물론 선택안된 상태일 경우에는 저 속성이 없어야겠죠. 일반텍스트와 {letter-spacing:-1px}의 속성을 준 볼드체 텍스트의 길이는 동일합니다. 단 IE 의 경우는 1px 차이가 나므로 그건 핵을 사용하여 처리했습니다. FF나 오페라의 경우는 일치합니다. 여러분들의 업무에 도움이 되시길 바라며 이만 마치겠습니다. 좋은 하루 되세요 ^^

Filed under: NAVER, HanGame, HTML ? written by projin0 @ 12:29 pm 답글 (2)

width값의 비율을 잘못 랜더링 하는 ie (2007.3월20일)

http://html.nhndesign.com/blog/wp-content/uploads/2007/03/01.gif

위 이미지처럼
일정 width값을 가진 div안에
각각 50%씩 나눠지는 구조를 잡을때 (float:left, right 시킬경우)

겉 div width값이 홀수 일때!
ie는 홀수를 나눠가지질 못합니다.
그래서 float될때 지그잭으로 깨지네요!!

겉div가 width가 9라고면
파폭과 오페라는

http://html.nhndesign.com/blog/wp-content/uploads/2007/03/02.gif

위와 같이 값을 알아서 나눠갖지는 반면

겉div가 width가 9라고면
ie는

http://html.nhndesign.com/blog/wp-content/uploads/2007/03/03.gif

위와 같이 값을 이상하게 나눠가져서
틀어집니다.

%로 내부구조 div를 float 시킬때는 width값이 짝수로 잡히면 문제가 없습니다.

Filed under: NAVER, HTML ? written by redsound @ 6:59 pm 답글 (0)

말풍선 코딩작업 (2007.3월16일)

안녕하세요..^^ 처음으로 블로깅을 할려니 참 떨리네요..(왠지 글을 잘써야 한다는 부담감이..) 처음 올리는 블로깅 글이니 이뿌게(?) 봐주시기 바랍니다. 네이버에서 사용할 말풍선 코딩작업하면서 여러가지 시도한 방법과 각 방법에서 부딪혔던 문제점과 해결방법등을 올립니다. 말풍선 가이드 디자인 말풍선 디자인

  • 말풍선 자체는 내용에 따라 상,하,좌,우 유동적으로 크기가 변합니다.
  • 이미지는 반투명한 그림자 때문에 PNG파일을 사용합니다.
  • 말풍선의 꼭지점은 어느 곳이든 위치 할 수 있습니다.

작업을 단계별로 진행하기위해 아래와 같이 작업의 순서를 정하였습니다. 작업의 순서

  1. 상,하,좌,우 유동적인 박스 코딩(모서리가 투명인)
  2. PNG파일 적용
  3. 꼭지점의 위치 및 여백조정

방법1. : 기존에 나와있는 유동적인 박스코딩을 했을경우. .box {float:left; background:url(http://html.nhndesign.com/img_blog/qura/talkbox_01_br.png) no-repeat right bottom;}
.box_outer {background:url(http://html.nhndesign.com/img_blog/qura/talkbox_01_bl.png) no-repeat left bottom;}
.box_center {background:url(http://html.nhndesign.com/img_blog/qura/talkbox_01_tr.png) no-repeat right top;}
.box_inner {background:url(http://html.nhndesign.com/img_blog/qura/talkbox_01_tl.png) no-repeat left top;}
.box_inner p {margin:0; padding:10px 10px 20px 10px;} /* 내용을 확인하기 위해 임시로 넣은 값 */
<div class="box">
<div class="box_outer">
<div class="box_center">
<div class="box_inner"> <p>본문내용</p>
</div>
</div>
</div>
</div>

코딩된 결과화면 : 방법1 - 적용된 화면

문제점 : 라운딩된 모서리가 투명이라 이미지를 중첩시키는 코딩 방법으로는 모서리가 제대로 표현이 안됩니다. 방법1 - 문제점 설명 화면

방법2. : 각 라운딩된 크기만큼 여백을 주어 모서리에서 그림이 겹치지 않게 합니다.

.box {position:relative; float:left; clear:both; padding-left:2px; background:url(http://html.nhndesign.com/img_blog/qura/talkbox_02_tl.png) no-repeat left top;}
.box_outer {position:relative; padding-top:3px; background:url(http://html.nhndesign.com/img_blog/qura/talkbox_02_tr.png) no-repeat right top;}
.box_center {position:relative; left:-2px; bottom:0; background:url(http://html.nhndesign.com/img_blog/qura/talkbox_02_bl.png) no-repeat left bottom; padding-left:2px;}
.box_inner {position:relative; padding:10px 10px 25px 10px; background:url(http://html.nhndesign.com/img_blog/qura/talkbox_02_br.png) no-repeat right bottom; margin-right:-2px;}
.box_inner p {margin:0; padding:0;}
<div class="box">
<div class="box_outer">
<div class="box_center">
<div class="box_inner"> <p>본문내용</p>
</div>
</div>
</div>
</div>

코딩된 결과 화면 : 방법2 - 적용된 화면

문제점 : PNG를 지원한는 브라우저나 투명한 GIF를 사용한 디자인에서는 가능합니다. 그러나 PNG파일을 지원하지 않는 IE6에서는 PNG파일을 보여주기위해 MS 전용 filter인 AlphaImageLoader를 사용하여 코딩하는데, AlphaImageLoader에서 배경의 좌표지정 할때 Left, Top으로만 설정이 되기때문에 원하는 데로 표현이 불가능 합니다.

방법3. : <table>태그를 이용하여 코딩합니다. PNG파일의 위치를 지정 할 수 없기 때문에 말풍선 이미지를 9분할 하여 <table>태그로 코딩하였습니다.

방법3 - 9분할 이미지 방법
방법3 - css코드
<table cellspacing="0" cellpadding="0" border="0" class="tbl_node01">
<tbody>
<tr>
<td class="tl">&nbsp;</td>
<td class="t">&nbsp;</td>
<td class="tr">&nbsp;</td>
</tr>
<tr>
<td class="bgl">&nbsp;</td>
<td class="txt"> <p>본문내용</p> </td>
<td class="bgr">&nbsp;</td>
</tr>
<tr>
<td class="bl">&nbsp;</td>
<td class="b">&nbsp;</td>
<td class="br">&nbsp;</td>
</tr>
</tbody>
</table>

코딩된 결과 화면 : 방법3 - 적용된 화면

문제점 : 꼭지점이 있는 부분은 꼭지점 만큼의 여백을 항상 가지고 있어야 해서 원하는데로 여백 설정이 불가능합니다.

방법3 - 여백 문제

방법4. : 방법 3번과 같이 <table>태그를 이용하여 코딩하지만 꼭지점만큼의 여백이 없게끔 이미지를 자를때 각각 조각내어 자르고, 꼭지점이 어떤 위치에도 올 수 있어야 하기때문에 별도의 <div>로 처리해 줍니다.

방법4 - 이미지 가이드 방법4 - css코드 <table cellspacing="0" cellpadding="0" border="0" class="tbl_talk01">
<tbody>
<tr>
<td class="tl">&nbsp;</td>
<td class="t">&nbsp;</td>
<td class="tr">&nbsp;</td>
</tr>
<tr>
<td class="bgl">&nbsp;</td>
<td class="txt"> 본문내용 </td>
<td class="bgr">&nbsp;</td>
</tr>
<tr>
<td class="bl">&nbsp;</td>
<td class="b">
<div class="point_area">
<div class="point_img">&nbsp;</div>
</div>
</td>
<td class="br">&nbsp;</td>
</tr>
</tbody>
</table>

코딩된 결과 화면 : 방법4 - 적용된 화면

작업결과 : <table>태그를 사용하여 의미에는 맞지 않지만 표현하고자 하는 디자인과 여백을 표현하는데 문제가 없기때문에 4번째 방법을 이용하여 작업하였습니다.

Filed under: NAVER ? written by qura81 @ 6:46 pm 답글 (0)

댓글목록

등록된 댓글이 없습니다.

1,139 (23/23P)

Search

Copyright © Cmd 명령어 3.129.218.223