탐색을 편하게 하기 위한 단축키 추가 (optional)
- 마우스를 최대한 사용하지 않고 탭키와 엔터키를 사용하여 서핑을 할 수 있도록 UseModWiki단축키들을 추가함
- 부작용:
- 딱히 문제가 생기지는 않으나, 소스 코드 내에서 제공하는 링크 생성 함수들(GetSearchLink, ScriptLink, GetPageLink, GetEditLink 등)을 사용하지 않고 직접 html 코드를 뿌리기 때문에, 일관성을 떨어뜨리고, 차후에 소스 코드를 다시 수정할 때 복잡해질 우려가 있다.
검색란에 Alt+S 단축키 할당
- Alt+S 를 누르면 상단메뉴 검색란에 커서가 옮겨가도록 수정
- 겸사겸사, 검색란 왼쪽에 있는 "Search:" 라는 문자열도 UseModWiki번역화일의 적용을 받도록 하였다.
-
sub GetSearchForm {
my ($result);
$result = T('Search:') . " <input accesskey=\"s\"class=text type=text name='search' size=10>"
. &GetHiddenValue("dosearch", 1);
return $result;
}
사이트 로고 이미지에 Alt+W 할당
- Alt+W 를 누르면 로고 이미지가 선택되고, 그 상태에서 엔터키를 누르면 홈페이지 대문으로 이동한다.
-
sub GetHeader {
...
if ((!$embed) && ($LogoUrl ne "")) {
$logoImage = "img src=\"$LogoUrl\" alt=\"$altText\" border=0";
if (!$LogoLeft) {
$logoImage .= " align=\"right\"";
}
$header = "<a accesskey=\"w\" href=\"$ScriptName?$HomePage\"><$logoImage></a>";
}
if ($id ne '') {
...
}
페이지 상단에 Alt+Z 할당
- 상단에 "Bottom" 이라는 링크를 추가
- Alt+Z 를 누르면 그 링크로 이동하고, 엔터키를 누르면 페이지 제일 마지막에 있는 "Top" 링크로 이동
- 로고 이미지로 가는 단축키가 있으니 굳이 이 링크가 필요할까 싶긴 한데, 반대로 마우스로만 서핑하는 경우 클릭 한 번에 페이지 끝으로 이동할 방법이 있어야겠기에 추가하였다. 썩 좋은 미관은 아니군.
-
sub GetHeader {
...
$result .= $q->h1($header . $title);
}
$result .= "\n<div align=\"right\"><a accesskey=\"z\" name=\"#PAGE_TOP\" href=\"#PAGE_BOTTOM\">". T('Bottom') . "</a></div>\n";
if (&GetParam("toplinkbar", 1)) {
...
}
페이지 하단에 Alt+X 할당
- 하단에 "Top" 이라는 링크를 추가
- Alt+X 를 누르면 이 링크로 이동하고, 엔터키를 누르면 페이지 상단의 "Bottom" 링크로 이동한다.
- Bab2 님의 제보로 (감사합니다), $FooterNote 를 사용자가 따로 설정해 둔 경우 제대로 동작하지 않는 문제가 있다는 것을 발견하고 수정했음.
- $FooterNote 에 align=right 속성을 가진 이미지 등이 올 경우 Top 링크가 이미지와 같은 라인에 포함되어 버릴 수 있다. $FooterNote 의 내용을 <p align=right>내용</p> 와 같이 적어넣으면 해결된다.
-
sub GetMinimumFooter {
my $result = '';
if ($FooterNote ne '') {
$result .= T($FooterNote);
}
$result .= "\n<div align=\"right\"><a accesskey=\"x\" name=\"#PAGE_BOTTOM\" href=\"#PAGE_TOP\">" . T('Top') . "</a></div>\n" . $q->end_html;
return $result;
}
텍스트 편집영역에 Alt+I 할당
- 페이지를 수정할 때나, 관리자 모드에서 링크관리 등을 할 때 Alt+I 를 누르면 텍스트 편집영역으로 커서가 이동한다.
- edit conflict 가 발생할 때는, 편집영역이 두 개가 나타난다. (저장될 텍스트, 자신이 입력한 텍스트) 이 때 두 편집 영역에 동시에 같은 단축키가 할당되는 문제가 있다. 그런데 Internet Explorer 에서 테스트해봤더니, Alt+I 를 누를 때마다 커서가 양쪽 창을 번갈아가며 이동하길래, 차라리 잘 됐다..고 생각하고 넘어가기로 했다. :-)
-
sub GetTextArea {
my ($name, $text, $rows, $cols) = @_;
$text =~ s/(\&)/\&/g;
if (&GetParam("editwide", 1)) {
return $q->textarea(-accesskey=>'i', -name=>$name, -default=>$text,
-rows=>$rows, -columns=>$cols, -override=>1,
-style=>'width:100%', -wrap=>'virtual');
}
return $q->textarea(-accesskey=>'i', -name=>$name, -default=>$text,
-rows=>$rows, -columns=>$cols, -override=>1,
-wrap=>'virtual');
}
위키위키분류