web-dev-qa-db-ja.com

範囲スライダーをフォームに組み込む:jQuery UIまたは<select>に低下?

<input type="range">スライダーをフォームに組み込むと(つまり、 タスクの完全性のレベルを示すのに最適なフォーム要素? )、Firefoxはテキストボックスにそれほど上品に低下しません。

Chrome vs. Firefox on <input type="range">

上記のリンクされた例のように、フォームオプションを意味的に表示する必要があるため、Firefoxの機能低下はここでは機能しません。

より良い分解のためのいくつかのオプションは何ですか?以下の2つのソリューションのうち、どちらが良いですか?またはより良い解決策はありますか?

  1. jQuery UI( http://jqueryui.com/demos/slider/
  2. 範囲ポリフィル( http://jsbin.com/atocep/32/edit )は、select入力を、<input type="range">をサポートするブラウザーの範囲に変換します
1
Dr Spaceman

Modernizrのような互換性チェックライブラリを使用してみませんか

http://www.modernizr.com/

検出に基づいて、何をロードするかを決定します。これにより、新しいブラウザーがHTML5のメリットを得て、残りすべてがjQuery UIで動作するようになります。

2
Maco03

場合によります!プロセス内のページの読み込み時間全体が1秒以内に収まる場合は、Webページの同様のコントロールを実装することをお勧めします。範囲入力を実装しているFirefoxの画像は本当に悪いです。それを回避できる場合は、避けてください。

ユーザビリティの第一人者であるJacob Nielsenが、アプリケーションとWebアプリケーションについて Response time limit の記事を書き、次のように述べています。

0.1秒:ユーザーがUIでオブジェクトを直接操作していると感じるユーザーの制限。たとえば、これは、ユーザーがテーブル内の列を選択してから、その列が強調表示されるか、選択されていることをフィードバックするまでの制限です。理想的には、これは列をソートするための応答時間でもあります。そうであれば、ユーザーはテーブルをソートしているように感じます。

1秒:コンピューターを過度に待機する必要なく、コマンドスペースを自由に移動していると感じるユーザーに対する制限。 0.2〜1.0秒の遅延は、ユーザーが遅延に気づき、コマンドがユーザーのアクションの直接の影響であるのとは対照的に、コンピューターがコマンドで「機能している」と感じることを意味します。例:選択した列に従ってテーブルを並べ替えることが0.1秒でできない場合、それは確かに1秒で行う必要があります。そうしないと、ユーザーはUIが遅いと感じ、実行中の「フロー」の感覚を失います。彼らの仕事。 1秒を超える遅延の場合は、たとえばカーソルの形状を変更するなどして、コンピューターが問題に取り組んでいることをユーザーに示します。

10秒:ユーザーがタスクに注意を向け続けるための制限。 10秒より遅いものには、パーセント完了インジケーターと、ユーザーが操作を中断するための明確な標識付きの方法が必要です。ユーザーが10秒以上の遅延後にUIに戻ったときに、ユーザーの方向を変える必要があると想定します。 10秒を超える遅延は、タスクの切り替え時など、ユーザーの作業の自然な中断中にのみ許容されます。

幸運を!

1
Benny Skogberg