javascript / jqueryをあまり使用しないのは良い習慣ですか?(アクセシビリティを向上させるために)可能な限り回避する必要がありますか?
JavaScriptを使用してもよいのはいつですか?Webデザインと開発では使用できないのはいつですか?どのようなシナリオで、どのような条件で?
アップデート:
公開サイトについてお伺いします。
javascript / jqueryをあまり使用しないのは良い習慣ですか?(アクセシビリティを向上させるために)可能な限り回避する必要がありますか?
JavaScriptを使用してもよいのはいつですか?Webデザインと開発では使用できないのはいつですか?どのようなシナリオで、どのような条件で?
アップデート:
公開サイトについてお伺いします。
JavaScriptを使用したり、控えめに使用したり、優雅に劣化させたりするべきではないと言っているポスターには、敬意を表して反対する必要があります。
その理由は、最近の大多数の人々がJavaScriptを有効にしており、Webサイトから提供できるデスクトップのようなエクスペリエンスを高く評価しているためです。本当に、JavaScriptを有効にしていないのは誰ですか?人々は、これが統計的に有意なグループであるかのように行動します。そうではない。
JavaScriptを使用しないことは、可変サイズをあざ笑うことに少し似ています(ああ、ここでは32ビットの代わりに16ビット整数を使用してメモリを節約できます)。何十万人もの人々のためにモンスタープロジェクトを行っている場合を除いて、Webサイトを適切に劣化させるために費やす時間のROIが実際にプラスである場合は、JavaScriptを自由に使用する必要があります。無効にしたためにアクセスできない2人は妄想的で、とにかく顧客として望むような人ではないでしょう。
ちょうど私の2セント。
エキスパート氏が言ったことすべてに+1。
追加するもう1つのこと:あなたのウェブサイトの重要な機能をJavaScriptに依存させることはアクセシビリティにとって良くありません。ユーザーのブラウザでJSが無効になっている場合でも、すべてのフォームを送信したり、すべてのボタンをクリックしたりできるはずです。JavaScriptがない場合、Webサイトは正常に機能しなくなる必要があります。
フォームに関する注意事項:
可能な場合は、Hijaxアプローチを使用してフォームを送信してください。従来のページ更新を使用してそれらを機能させてから、JavaScriptを使用してフォーム送信を「ハイジャック」し、代わりにAJAXを使用して実行します。クライアントでAJAXが無効になっている場合でも、フォームは正常に機能します。
私が何かを言う前に、これはすべて相対的なものであることを明確にしましょう-それはあなたのターゲットオーディエンスに関するものです。ターゲットオーディエンスの大部分がアフリカの障害者であり、私のターゲットオーディエンスが韓国のゲーマーである場合、答えはスペクトルの反対側にある可能性があります。
まず、ターゲットオーディエンスで有効になっているJSと無効になっているJSの比率を確認します。平均的なWebサイトの場合、100:1です。
次に、帯域幅について考えます。縮小およびgzip圧縮されたjQueryは24Kです。しかし、すべてのブラウザはgzip圧縮されたコンテンツで正しく動作しますか?ターゲットオーディエンスの帯域幅に応じて、適切なUIフレームワークを選択するか、使用するかどうかを選択します。ターゲットオーディエンスが使用頻度の高いブロードバンドプランを使用している若者である場合、フレームワークのサイズがメガバイトであっても文句を言うことはありません。しかし、あなたのウェブサイトが救援活動や教育プログラムなどのためにある国の遠隔地の村をターゲットにしている場合、そのようなフレームワークを避けてください-彼らはインターネットにほとんどアクセスできません。
第三に、アクセシビリティのためには、2つのことが重要です。
ターゲットオーディエンスの最小分母テクノロジーを使用してこれらを処理すると、いつでもjavascriptを使用して、物事を整理し、既存の基本機能(オートコンプリート、AJAX送信など)を強化できます。
要約すると、優雅に劣化します。
アクセシビリティはさておき、誰かがJSを無効にした場合に、私たちが優雅に劣化するべきであることに同意しません!
ブラウザを備えたデスクトップの場合、JavaScriptが有効になっていない場合、Webサイトは正常に劣化するはずだと言うのは、Windows 95を使用している人がいるため、ゲームエンジンをDirectX6に正常に劣化させる必要があると言うようなものです。もう意味がありません。もう単語に注意してください。JavaScriptがブラウザの50%にしか存在しなかったとき、それは理にかなっており、それは新しいテクノロジーでした。
私の3Dゲームが正常に劣化してDirectX6を使用できるようになる理由はありますか?その議論の余地。理にかなっているのは、私のゲームはWindows7ではDirectX11を使用していますが、正常に機能が低下し、VistaではDX10、XPではDX9を使用しています。
さあ..いくつかの統計を見てください。JSを有効にして無効にする比率は100:1のようなものです
繰り返しになりますが、オーディエンスの80%が、不安定なJS実装を備えたモバイルデバイスで今後のWebブラウザーを使用して、Webサイトを表示すると、全体が変わります。
ターゲットオーディエンス/デバイスの大部分でJSが有効になっている場合は、それをうまく使用してください。彼らが持っていない場合は、しないでください。あなたは彼らが使用して見ることができるものを彼らに与える必要があります。
常に少数派が存在しますが、Webサイトを表示するための前提条件があり、それがかなり普及している場合は、インストール/有効化する必要があります。あなたは確かにあなたのターゲットオーディエンスにパラノイドを望んでいません。
結局のところ、JavaScriptをどれだけ使用するかを決定するのに役立つ情報を入手できるのはあなただけです。それは常にあなたのターゲットオーディエンスと彼らのデバイスによって決定されます。
単純なWebサイトを開発している場合は、JavaScriptを使用してユーザーエクスペリエンスを向上させる必要があります。JavaScriptを有効にしていない場合は、JavaScriptを適切に機能低下させる必要があります。あなたのウェブサイトがコンテンツ中心であるなら、それはあなたがそれを扱うべき方法です:最初にコンテンツ、次にJavaScriptベースのベルとホイッスル。JavaScriptを有効にしないと機能しない必須機能は1つもないはずです。
ただし、Webアプリケーションを作成している場合は、それに気を配ってください。WebアプリはJavaScriptを使用することになっているため、JavaScriptを無効にしている人に対応することは意味がありません。彼らが本当にあなたの農産物を使いたいのなら、彼らはJavaScriptを有効にします(または別のデバイスを使います)。JavaScriptを有効にせずに動作させるのに苦労する価値はありません。これは、ローエンドのコンピューターでは実行できないため、ビデオゲームに優れたグラフィックスを与えるべきではないと主張するようなものです。ビデオゲームを本当にプレイしたい人は、マシンをアップグレードします。
mhrの答え、「それが優雅に劣化する限り、常に」は良いベースラインです。Javascriptがサーバー側に相当するものがないアプリケーション機能(あなたのサイトは純粋な情報ではなく「Webアプリ」である)を提供する場合、合理的な例外を作ることができることを付け加えておきます。したがって、たとえば、「優雅な劣化」は、原則として、Webベースの描画ツールの構築を妨げるものではありません(フォームやサーバー側の機能に優雅に劣化した場合、せいぜい、使用できないほど面倒です)。ただし、その描画ツールがコンテンツ作成者以外の視聴者に公開するコンテンツにアクセスするためにJavascriptを要求することはできません(コンテンツ作成者は、自明のことながら、サイトの使用にはJavascriptが必要であることをすでに受け入れているためです) )。
J.ニールセン氏に敬意を表して:デザインの保守主義は、進化の進歩という点では本当に無意味です。フラッシュが最初に登場したとき(アクションスクリプトの最初のバージョン、実際には持ち帰り用のプログラミングで)、アニメーション化されたインターフェイス上で騒々しい光沢があり、それらのほとんどは使いやすさの点で操作することがほとんど不可能でした。しかし、実際には、これらすべての未来的な実験から、UIに関していくつかの質的な改善が生じています。
javascriptでも同様のことが起こりました。単なるウィジェットであったものが、プレゼンテーション層を超えてビジネスロジックを処理する場合でもますます人気が高まっています。RIA(リッチインターネットアプリケーション)は、ユーザーエクスペリエンスを徐々にjavascriptに依存しています。javascriptを使用するかどうか?
使いやすさとインタラクションを向上させることを目的としたすべてのツールは、絶え間なく進化するまったく新しい世界で歓迎されていると思います。
他の人がここで言っていることは完全に真実です:ゲームプロデューサーはあなたのコンピュータが悪臭を放ち、グラフィックスの限界を引き出し続けてもあまり気にしないので、まだjavascriptが無効になっている1つか2つを考える価値はありません。このおかげで、PACMANをプレイしなくなり(Googleが希望する場合のみ)、アサシンクリードを楽しむことができます。
NASAは、公開WebサイトでJavaScriptを使用しない方法の優れた例です。JavaScriptを使用してブラウザー固有のスタイルシートを提供しているため、JSが無効になっているスタイルのない混乱が発生しているようです。
JavaScriptの主な用途は、HTMLページに埋め込まれている、またはHTMLページから含まれ、ページのドキュメントオブジェクトモデル(DOM)と対話する関数を作成することです。この使用法のいくつかの簡単な例は次のとおりです。
新しいウィンドウのサイズ、位置、および属性をプログラムで制御して、新しいウィンドウを開くかポップアップします。
Webフォームの入力値を検証して、サーバーに送信する前に受け入れられることを確認します。
マウスカーソルが画像上を移動するときに画像を変更する:この効果は、グラフィック要素として表示される重要なリンクにユーザーの注意を引くためによく使用されます。
JavaScriptコードは(リモートサーバーではなく)ユーザーのブラウザーでローカルに実行できるため、ユーザーのアクションにすばやく応答でき、アプリケーションの応答性が向上します。
公開ウェブサイトでは、サイトに含まれる情報が引き続き利用可能であり、JSを持たない人にとっても使いやすさが良好である限り、JavaScriptを使用しても問題ありません。
企業のイントラネットなど、より制御された環境にいる場合は、JavaScriptにさらに依存することができます。
また、サイトがドキュメントというよりもアプリケーションであり、その機能がJSなしでは不可能な場合は、もちろん使用できます。
また、一部の人々があなたのサイトの使用に問題を抱えているという事実を受け入れることもできますが、とにかくJSに大きく依存しています。それはあなたの選択です。
javascriptを使用すると、ユーザーとクライアント/サーバーの関係を築くことができます。つまり、ユーザーのCPUパワーを使用してページを構築し、サーバーから一部のリソースを解放できます。私たちはコードとデータを提供し、それらのブラウザはそれらをまとめて、それはあるべき姿です。:)
心からババク
よく私はjava-scriptとjqueryを定期的に使用しないというあなたの意見に同意しません。現在、ブラウザはjavascriptと互換性があります。検証が必要なWebサイトを開発する必要がある場合は、javascript(クライアント側の検証用)を選択する必要があります。
NoScriptという1つの理由だけで、サイトは正常に機能しなくなるはずです。そのFirefox拡張機能は、サイトがJavascriptを実行できるようにするためにホワイトリストに依存しています。これは、私がこれまで訪れたことのないサイトではJavascriptを実行できないことを意味します。これは、多くのフィッシング攻撃やクロスサイトスクリプティング(XSS)攻撃を防ぐための良い方法です。
サイトは最初に私の信頼を獲得する必要があります。はい、EbayとAmazonはJavascriptに大きく依存している可能性がありますが、www.buyviagracheap.comのようなサイトはそうではない可能性があります。
また、Javascriptを無効にして、表示するものがない場合は、「しかし...」と言う前にすぐに「戻る」を押して、二度と戻らないようにします。
ただし、私が見たものが気に入った場合は、サイトでJavascriptを有効にして、エクスペリエンスを向上させることができます。したがって、Javascriptを無効にして完全な代替機能を提供する必要はありません。