[첫화면으로]Diary/탭을눌렀을때포커스이동문제

마지막으로 [b]

/탭을눌렀을때포커스이동문제

2006-1-25

문제 발견

언제부턴가 홈페이지가 이상해졌습니다. 근데 이유를 모르겠군요. KPUG에 올린 질문 글을 여기에도 씁니다. 누가 아는 분 계시면 좀 가르쳐 주세요. ㅠ,.ㅠ 현재 서버의 시스템이 불안정한 상태인 게 원인일지...


Upload:focus_problem.png

http://gypark.pe.kr/cgi-bin/wiki/wiki.pl?FocusTest 이것은 제 홈페이지입니다.

http://nyxity.com/wiki/wiki.pl?Raymundo/FocusTest 이것은 Nyxity님의 홈페이지입니다.

위 두 페이지는 동일한 CGI 프로그램(UseModWiki인데, 제가 소스를 고쳐서 개량해가며 쓰는 것)을 쓰고 있고, 환경설정이 좀 다르고 구글광고가 포함되고 등의 여부만 좀 다를 뿐 기본적인 html 출력은 거의 동일합니다.

여기서,
"새 글 쓰기" 박스 안에 있는 텍스트 입력폼에 글을 쓰다가 Tab키를 누르면,
포커스가 "달기" 버튼으로 이동하고 (달기 버튼 안에 점선으로 된 사각형이 생김),
이 상태에서 스페이스바를 누르면 달기 버튼이 클릭되어 글이 올라가야 정상입니다.
(위에 첨부한 그림 참조)

분명히 그렇게 사용해 왔었는데... 언제부터인지 제 홈에서는 탭키를 누르면 엉뚱한 곳(화면 우측 상단에 있는 로고이미지)에 포커스가 맞춰져 버립니다. 이동진님 홈에서는 정상적으로 동작을 합니다.

좀 더 확인해 보니, 제 경우는 글쓰기 창에서 Shift+Tab을 두 번 누르니 이름쓰는 필드를 거쳐서 달기 버튼으로 포커스가 이동하더군요. 원래는 이름 필드->내용 필드->버튼 의 순서로 포커스가 움직여야 하는데 말이죠.

(글쓰기 폼 뿐 아니라, 홈페이지 Tab을 누를 때마다 제일 상단에서부터 하단을 향해서 포커스가 각각의 링크를 옮겨 다녀야 하는데, 그 순서가 뭔가 어긋나 있네요.)

양쪽의 html 소스를 비교해봐도, 도대체 뭐가 원인인지 모르겠습니다. 제 홈에서는 폼이 닫히는 [/form] 태그 직전에 [div][/div] 태그쌍이 삽입된 게 눈에 띄긴 하는데, 이건 서버에 설치된 Perl CGI 모듈에서 만드는 출력이고(endform() 함수), 이건 문제의 원인이 아님을 확인했습니다. 제3의 사이트에서도 테스트했는데 저 div태그쌍이 있음에도 제대로 동작하거든요.

웹CGI프로그램에 도통하신 회원님들 중에 이런 경우에 대해 알고 계신 분이 있지 않을까 싶어서 질문을 올려 봅니다.

사소한 조언이라도 감사하겠습니다.

문제 해결

켁, KPUG에 [올린 글]에 답변을 보고 알았습니다. 홈페이지 서버에 있는 Perl/CGI모듈이 버전이 업그레이드되면서 기능이 추가가 되었는지, CGI 모듈에 있는 textfield, textarea, submit 등의 함수를 쓰면 자동으로 tabindex 옵션을 추가로 넣어주는군요. -_-; 제 홈 소스에서는 submit 버튼을 먼저 생성하기 때문에 tabindex 값이 이름이나 본문 작성 필드보다 더 빠르게 되어 있군요.

이 문제는 외국 포럼에서도 언급이 되어 있고, CGI모듈 버전이 올라가면서 디폴트 off로 변경되었음.
-- Raymundo 2006-3-26 4:50 pm


이름:  
Homepage:
내용:  

<<   /2006-01-25 (2006-01-25)[p]   | /탭을눌렀을때포커스이동문제 (2006-01-25) |   /주인장-사우스파크버전 (2006-01-23)[n]   >>

Diary

최근 글들

코멘트와 트랙백

옛 글들

  • /Archive - 월별로 한번에 보기
  • /List - 전체 포스트 목록

RSS

주요 페이지

이 홈페이지의 인터위키는 다음과 같습니다.
GyparkWiki  UTF-8
http://gypark.pe.kr/wiki/


주인장분류

마지막 편집일: 2012-2-11 12:25 am (변경사항 [d])
1346 hits | Permalink | 변경내역 보기 [h] | 페이지 소스 보기