JavaScriptベースのWebサイトを開発している場合、JavaScriptを有効にしていない訪問者がアクセスできるようにするために余分な作業を行う価値はありますか?
http://visualrevenue.com/blog/2007/08/eu-and-us-javascript-disabled-index.html によると、2007年に収集されたデータ、1.04%がEUで無効になっています、3.05%が米国で無効にしています。データは少し古いですが、2006年から2007年のトレンドセットを見ると、無効になっている人の数は減少しています。今では数字はもっと低くなる可能性があります。
無効なJavaScriptは、実際にはブラウザに依存しません。すべてのブラウザでJavaScriptをオフにできますが、デフォルトではすべてオンになっていると思います。
一般に、JavaScriptなしでサイトのメインバージョンを機能させることについて心配する必要はありません。ほとんどの人は、ウェブ上で豊かな体験を得るためには、それを有効にする必要があることを理解しています。
最後に、モバイル機器について。受け入れ率は低いと思いますが、数字を与えることはできません。一般に、モバイルタッチスクリーンブラウザーではマウスオーバーなどがうまく機能しないため、モバイルブラウザー用に別のバージョンのサイトが必要になります。
最初に、サイトの主な目的は何かを自問してください。あなたのサイトはウィジェットを販売することを意図していますか?ディスカッションフォーラムですか?主な機能が何であるかを把握します。それが完了したら、ユーザーがJavaScriptを有効にしなくても実行できることを確認します。いくつかの添えものを見逃しても問題ありませんが、ユーザーがJavaScriptなしでその機能を実行できることを確認してください。
たとえば、サイトがeコマースサイトの場合、ユーザーは商品を閲覧し、カートに追加し、JavaScriptを使用せずにチェックアウトを完了できる必要があります。ホームページにきれいなアニメーションが表示されなかったり、ファンシー検索やフィルター機能を使用できない場合がありますが、閲覧して購入できるのであれば良いでしょう。
または、Stack Overflowまたは別のStack Exchangeサイトを利用します。主なものは、質問を閲覧し、質問し、回答することです。 JavaScriptを使用せずに機能させたいと思うでしょう。エディターが機能しないか、投票が機能しない可能性があるため、ユーザーはMarkdownを手入力する必要があるかもしれませんが、ユーザーはサイトのメイン機能を実行できます。
結局のところ、私たちは皆、限られたリソースと期限を持っています。 JavaScriptがなくてもサイト全体が機能することを確認する価値はないので、最大限の報酬が得られる時間を投資してください。
この考え方に注意してください。数パーセントであっても、多数の訪問者につながる可能性があります。モバイルデバイスではJavaScriptが実行されないことを読んだことがあります。JavaScriptを実行するとバッテリーの消費量が増えるからです。
JSを使用してもしなくても機能するサイトを構築することは非常に可能です。最初にビルドせずにビルドしてから、優雅な劣化を考慮してJSを追加することをお勧めします。ユーザーがJSを無効にしている場合でも、コンテンツは引き続き利用可能です。
Webサイトによっては、Webサイト全体ではなく個々の機能を検討することが役立つ場合があります。一部の機能は他の機能よりも重要ですか?ユーザーにとってミッションクリティカルなものはありますか? Webサイトの構造で許可されている場合、JavaScriptを使用せずにミッションクリティカルな機能にアクセスできるようにし、その重要性に基づいて各機能の処理方法を決定します。
JavaScriptベースの画像ビューアーであるページXと、ユーザーが次のようにページXの<noscript>
ブロックによってリダイレクトされるフォールスルーであるページYの2つのページがあります。
<noscript>
<meta http-equiv="REFRESH" content="0;url=page-y">
</noscript>
さまざまなブラウザでは、<noscript>
セクションによってページYに送信される一意のIPアドレスの割合は次のようになります。
ユーザーのJavaScriptはオフです Firefox 7.7% MSIE 22.7% Opera 5.7% Chrome 12.1%
(これは非常に少ないヒット数に基づいていますが、私が持っている唯一のデータです。)
★誰もが気になる場合に備えて、これは次のようなログデータベースに対する一連のSQLiteクエリからのものです。
select count (ip_address_id) from
(select distinct ip_address_id from hit, user_agent, page, referrer
where hit.user_agent_id = user_agent.user_agent_id
and hit.page_id = page.page_id
and referrer.referrer_id = hit.referrer_id
and referrer like '%page-x%'
and page like '%page-y%'
and user_agent like '%Android%');