2011-07-10 3 views
3

私は本当にかわいい人で、ラップトップのユーザーとして、ページをスクロールするためにアップ/ダウンページアップ/ページダウンキーを使用しています。スクロール可能なウェブサイトを設計するには?

ページiがページをクリックした場合、すべての
  • ページスクロールにキーボードを使ってスクロールすることを拒否
    • (時には複数回)
    • 各Webページには、次のカテゴリに分類されているようですページはすばやくすぐにスクロールします

    バットからキーボードキーを使ってスクロールできるようにするにはどうすればよいですか? これを防止する要素の種類私が避けなければならない特定のものはありますか?たとえば、iframeとスクロール可能なdivがこの目標の問題点になる可能性があることはわかっています。

  • 答えて

    9

    一般的なルールは、ユーザーがページにフォーカスしているときにすべてのWebページをスクロールすることですが、このフォーカスはページからページの要素に直接移動できるため、その要素に対するスクロールイベントハンドラーは解放されます。たとえば、ページにFlashムービーがあり、ユーザーがクリックして再生すると、ブラウザはスクロールイベントをメインページの本文ではなくそのムービーに送信します。これは、iFrameとテキストエリアの要素の場合も同様です。

    使用しているOSの種類によって、動作が異なる場合があります。具体的には「ウインドウフォーカススクロール機能」 - OSXユーザーはクリックすることなくスクロール可能なコンテンツにマウスを移動してスクロールすることができますが、Windowsではスクロールしたい領域を物理的にクリックしてウィンドウをアクティブにする必要があります。アクティブなウィンドウは、矢印キーがページをスクロールするかどうかにも影響します。

    追加する最後のポイントは、CSSプロパティ 'overflow'を使用してスクロールを特に無効にすることができることです。デフォルトでは 'visible'に設定されています。スクロールバーはコンテナの内容がコンテナの境界よりも大きいところに常に表示されます。ただし、XまたはYプレーン、またはその両方で無効にすることができます。これにより、マウスとキーボードの両方を使用したスクロールが防止されます。

    2

    Tom Walters氏によると、フォーカスはページ上の要素間で移動することがあるため、矢印がページ全体をスクロールしないことがあります。

    Operaなどのブラウザの中には、特定のキーの組み合わせを使って矢印の動作を変更するものがあります。たとえば、Ctrlキーを押したままOperaの上下矢印を押すと、ページをスクロールするのではなく、上下にスクロールします。

    JavaScriptを使用して新しいスクロール機能をウェブページに追加するのはどうですか?キーの組み合わせにより、ページを常に上下にスクロールさせることができます(おそらく画面全体(見えるページの高さ))?あなたのウェブサイトをサーフィンしている新しいユーザーは、最初はこのことを理解していないかもしれませんが、時間をかけて教えることができます。

    0

    JavaScript機能を追加することは一つのことですが、特定のプラグインやコードがあるとは思われません。一般的にページのフォーカスに依存します..フラッシュムービーはクリックまたは選択中に注意を掴みます。それはページが上下のキーを押すことをスクロールするのを防ぎます。はい、ホセとトムが言ったように。

    1

    他の回答で述べたように、フォーカスは、ページのスクロールを妨げるフラッシュオブジェクトなどの他のオブジェクトに移動することができます。

    ただし、jqueryのような簡単な呼び出しでメイン文書に戻すことができます。

    $(function(){ $(document).focus(); }); 
    

    また、フラッシュコンテンツが「準備完了」イベントにも読み込まれる場合は、遅延が発生することがあります。

    関連する問題