[Fswiki-dev] 3.5.7 への accesskey および title 属性の付加

Back to archive index

T.Watanabe wtnab****@mba*****
2005年 5月 3日 (火) 18:36:00 JST


  初めまして、渡辺と申します。

  FreeStyle Wiki を自分のメモ用に使おうかと思っているのですが、accesskey
の設定がまったくないのでちょっとメモ書きには不便だなと思い、手を入れてみ
ました。

lib/Wiki.pm
-----------
319a320,321
>         my $title  = shift;
>         my $access = shift;
330c332,344
<
push(@{$self->{"menu"}},{name=>$name,href=>$href,weight=>$weight});
---
>         if ( $title !~ /^$/ ) {
>                 $title = ' title="'.$title.'"';
>         }
>         if ( $access =~ /^[0-9a-zA-Z\/.,]$/ ) {
>                 $access = ' accesskey="'.$access.'"';
>         } else {
>                 undef( $access );
>         }
>         push(@{$self->{"menu"}},{name=>$name,
>                                  href=>$href,
>                                  weight=>$weight,
>                                  title=>$title,
>                                  accesskey=>$access});

tmpl/header.tmpl
----------------
7c7
<       <a href="<!--TMPL_VAR NAME="href"-->"><!--TMPL_VAR ESCAPE="HTML"
NAME="name"--></a>
---
>       <a href="<!--TMPL_VAR NAME="href"-->"<!--TMPL_VAR NAME="title"-->
        <!--TMPL_VAR NAME="accesskey"-->><!--TMPL_VAR ESCAPE="HTML"
NAME="name"--></a>

  で、あとは plugin/*/Install.pm などにある

$wiki->add_menu("編集"  ,"",997);

  を

$wiki->add_menu("編集"  ,"",997,"このページを編集[e]","e");

  などに変えていく、という作業になります。editform.tmpl で submit などに
も accesskey をつけようかなと思いますが、それは特に考えることがないので
端折ります。またこの改造は HTML::Template のおかげで、add_menu の方に変
更が加わっていない場合は従来通りのメニューが生成されるようになっています。

  ここで一つお願いがあります。それはこの accesskey を改造ではなく正式に
機能として取り込んでもらえないかなということです。
  例えば今のままではコードを修正したら必ず accesskey が有効になってしま
いますが、これを管理画面で有効/無効を切り替えられる形に整理すれば判断を
ユーザーに委ねることができますので、機能として取り込んでもあまり問題にな
らないかなと。(キーアサインをユーザーが選べる形までいくと相当ホネですが。)

  個人的には普段使う Wiki は accesskey の有無で使い勝手が大きく変わると
思っています。PukiWiki ではこの辺りはほとんどすべて skin に集約させるこ
とができるので改造も楽ですが、FreeStyle Wiki の作りだとバージョンアップ
のたびに加える改造としては少々作業量が多いものでして。 それなら本家に取
り込んでもらってしまえ、ということです。

  キーアサインやどこまで管理画面で設定できるようにするかなど、多少整理の
必要なことがありますが、どうでしょうか。ご検討いただけないでしょうか。

※ 2004年11月まではさかのぼって ML に検索を掛けてみましたが、それ以前の話
は押さえておりません。本家 Wiki のサポート掲示板で一つ改造例を見ました
が、その後この話の進展はなさそうでした。もし以前に同じ話題が何らかの理由
で却下になっていたのでしたら申し訳ありません。

--
    わたなべ



Fswiki-dev メーリングリストの案内
Back to archive index