検査手法と判定基準
WFH のすべての診断ツールは、この頁に書かれた方法で計測し、書かれた閾値で判定します。基準を変更した場合はこの頁に日付つきで追記します。
共通原則
- 計測はブラウザ内で完結(ゼロアップロード) — 各ツールは Web 標準 API(KeyboardEvent / PointerEvent / Web Audio / getUserMedia 等)で計測し、結果を含む一切のデータをサーバーへ送信しません。ページの開発者ツール(ネットワークタブ)でいつでも確認できます。
この原則には2つだけ例外があり、どちらも「測る対象がブラウザの外にある」ために生じるものです。
①回線の安定性テスト — 回線を測る以上、通信そのものが計測対象になるため、当サイト内のごく小さなファイル(/ping.txt・数バイト)を 20 回読み込みます。読み込むだけで、計測値も判定結果もサーバーには送りません。
②印刷テストページ — 検査用紙をお使いのプリンターに送ります。送り先はあなたのプリンターだけで、当サイトを含むいかなるサーバーも経由しません。検査用紙の中身は、このページが端末内で組み立てたものです。
いずれの場合も、キー入力・声・映像・指の動きといった検査内容が送信されないことに変わりはありません - 判定は「疑い」まで — ブラウザからは分解検査ができないため、故障の断定ではなく、計測値にもとづく切り分け(ソフト起因かハード起因か)と疑いの提示を行います
- 対処の提示順は固定 — ①メーカー保証 → ②無償の対処 → ③有償の対処 → ④買い替え。広告・アフィリエイトが判定に影響することはありません
キーボード診断
| 項目 | 計測方法 | 判定閾値と根拠 |
| チャタリング | KeyboardEvent の keyup→keydown 間隔を計測。OS のオートリピート(event.repeat)は除外 | 45ms 未満で疑い。人間の意図的な連打の最短間隔は一般に 60ms 超のため、機械的誤入力と切り分け可能 |
| 全キー応答 | event.code 単位で押下を記録(JIS/US 配列切替・テンキー表示に対応。分母は表示中の盤面のキー数) | 複数回押しても記録されないキーは単体故障の疑い。ただし Win キー・PrintScreen 等 OS が先取するキーは検知不能と明記 |
| 同時押し | 押下中キー集合の最大サイズ | 実測値の表示のみ(良否判定なし) |
マウス診断
| 項目 | 計測方法 | 判定閾値と根拠 |
| チャタリング | 同一ボタンの mouseup→mousedown 間隔 | 80ms 未満で疑い。意図的な最速ダブルクリックでも通常 150ms 以上のため |
| ボタン応答 | event.button 単位で記録(左/右/ホイール/戻る/進む) | ブラウザがサイドボタンを先取する環境があることを明記 |
| ポーリングレート | PointerEvent(getCoalescedEvents で生イベント復元)の受信間隔の中央値から推定 | 125/250/500/1000Hz の公称段階に丸めて表示。ブラウザの間引きの影響を受けるため参考値と明記 |
マイクテスト
| 項目 | 計測方法 | 判定閾値と根拠 |
| 入力レベル | Web Audio の AnalyserNode で時間領域波形を取得し、ピークを dBFS 換算 | 発話時ピークが−30dB 未満のままなら入力不足(デバイス選択・OS 音量・物理ミュートの疑い) |
| クリッピング | 振幅が最大値の 98% を超えるサンプルの検出 | 繰り返し検出で音割れ=入力ゲイン過大と判定 |
| 録音再生 | MediaRecorder でブラウザ内に一時保存(ページを閉じると破棄) | — |
イヤホン・スピーカー検査
| 項目 | 計測方法 | 判定閾値と根拠 |
| 左右テスト | Web Audio(OscillatorNode)で 440Hz のテスト音を生成し、StereoPannerNode(pan = −1/+1/0)で左右に振り分け | 音の高さと左右の振り分けは機械が保証。「聞こえたか」は利用者の自己申告のため、判定は「片方が聞こえない状態/音割れの症状あり/異常の報告なし」の 3 種類のみで、スコアは付けない |
| 音割れテスト | 低音 80Hz・中音 400Hz を再生(gain 0.15〜0.18 固定。立ち上がり・終わりを linearRamp でなめらかにしノイズを防止) | ビリビリ・ガサガサ音の有無を自己申告で記録 |
| 聞こえる高さ | 8k〜17.4kHz の 6 段階を再生(gain 0.12) | 加齢による正常な変化を含むため、故障判定には使わない。マイク不使用=録音・送信なし |
モニターテスト
| 項目 | 計測方法 | 判定閾値と根拠 |
| ドット抜け・色ムラ | 単色 6 面(白・黒・赤・緑・青・灰50%)とグラデーション+中間灰を全画面表示 | 機械では検出できないため、ツールは「見つけやすい画面を出す係」に徹し、判定は利用者の目視による自己申告(有り/無し)。このためスコアは付けない |
| リフレッシュレート | requestAnimationFrame のタイムスタンプを約 2 秒収集し、フレーム間隔の中央値 m(ms)から round(1000 ÷ m) で算出 | 中央値を使うのは処理落ちによる外れ値を除くため。省電力設定・OS 設定・ブラウザ制限で仕様値より低く出ることがあると明記 |
カメラテスト
| 項目 | 計測方法 | 判定閾値と根拠 |
| フレームレート | 対応ブラウザでは実際に届いた映像の枚数を 2 秒間計数(requestVideoFrameCallback)。非対応時はカメラの申告値 | 15fps 以上で正常。15fps を切ると相手から動きのカクつきが分かるため「要注意」 |
| 実測解像度 | track.getSettings() の width×height(カタログ最大値ではなく現在値) | 表示のみ(良否判定なし) |
| 明るさ | 映像を縮小 canvas に描画し平均輝度(0〜255)を算出 | 60 未満を「暗め」と表示。映像自体は届いているため正常判定は変えない。映像・画像データは端末外に一切送信せず、集計イベントにも含めない |
コントローラーテスト
| 項目 | 計測方法 | 判定閾値と根拠 |
| ドリフト実測 | スティックから手を離した状態で 3 秒間、各軸(x・y)の傾きの絶対値の最大を記録(Gamepad API) | 最大値 10% 超でドリフトの疑い(−40 点)、5〜10% は要注意(−15 点)、5% 未満は正常。根拠: 手放しのスティックは本来中央(0)に戻る。10% 超は多くのゲームの標準デッドゾーンを超えて誤入力になる量、5〜10% はデッドゾーンに収まることが多い量 |
| ボタン検査 | 標準マッピング 17 ボタンの押下と回数、L2・R2 はアナログ値 | 表示のみ(押していないボタンの良否は判定できないため) |
回線の安定性テスト
| 項目 | 計測方法 | 判定閾値と根拠 |
| 応答のばらつき(ジッター) | 同一オリジンの極小ファイル(/ping.txt)を 0.6 秒間隔で 20 回取得し、連続する応答時間の差の平均を算出(キャッシュ回避のため毎回 URL を変える) | 30ms 超で要注意(−20点)、100ms 超で「途切れやすい」(−45点)。根拠: 会議の音声は一定間隔で届くことを前提に再生されるため、平均の遅さより到着間隔の揺れが欠落として知覚される |
| 届かなかった回数 | 3 秒を超えた応答をタイムアウトとして計上 | 1 回ごとに −15 点(上限 −45)。2 回以上で「途切れやすい」判定 |
| 応答時間(中央値) | 20 回の応答時間の中央値(外れ値の影響を避けるため平均ではなく中央値) | 表示のみ(良否判定に使わない) |
| 計測しないもの | ダウンロード速度(Mbps)は計測しません | 会議の不調は帯域より安定性に起因することが多く、速度測定は専門サイトの寡占領域であるため、当サイトでは扱いません。また計測経路は「端末→当サイトのエッジ」であり、会議サーバーまでの経路とは一致しないことをツール上に明記しています |
タッチパネル診断
| 項目 | 計測方法 | 判定閾値と根拠 |
| 反応しない場所 | 検査面を一辺 38px の区画に分け、Pointer Events の報告が実際に届いた区画だけを塗る(区画間の補間はしない) | 塗り残しの提示のみ(−点はしない)。根拠: 「なぞり忘れ」と「反応しない場所」を機械では区別できないため、判定は利用者の目に委ねる。補間すると反応しなかった区画まで塗られて故障を隠すため、実際に報告が来た区画だけを塗る |
| 追従の途切れ | 指が触れたままの状態で、連続する pointermove の時間差を計測 | 120ms 以上のとだえを 1 回として計上し、1 回につき −10 点(上限 −40)。根拠: タッチパネルの報告は毎秒 60〜120 回が標準で、120ms は 60Hz なら 7 フレーム分の欠落にあたる。人間の手の動きの速さでは説明がつかない |
| ゴーストタッチ | 「手を離す」案内を表示した 10 秒間に届いた pointerdown・pointermove の回数 | 1 回以上で「ゴーストタッチの疑い」(−30 点)。根拠: 触れていない前提の区間に入力が来ることは、正常なパネルでは起こらない |
| 同時タッチ数 | 同時に押下状態にあるポインタ数の最大値。端末の申告値(navigator.maxTouchPoints)と併記 | 表示のみ。根拠: 利用者が何本の指で触れたかを機械側から要求できないため、良否は判定しない |
| 計測しないもの | 画面のひび・表示不良・ブラウザの外側(OS のバーや通知領域) | 表示の異常はモニターテストの領域です。ブラウザは自分の描画面より外のタッチを受け取れないため、画面の最も端の部分は検査しきれない場合があります |
印刷テストページ
| 項目 | 計測方法 | 判定閾値と根拠 |
| 目詰まり(ノズル) | C・M・Y・K それぞれについて、等間隔の細線を 128 本、紙の幅いっぱいに印刷し、白い抜けの有無を利用者が確認 | 抜けのあった色 1 つにつき −20 点。根拠: インクジェットのノズル 1 つが詰まると、その位置の線だけが出ず白いすじになる。どの色の版が欠けたかで、詰まっているインクを特定できる |
| インクの残量ぎれ | ベタ塗り 7 色と、各色 11 段階の階調を印刷 | 全体のかすれ −15 点/階調の飛び −10 点/混色のずれ −10 点。根拠: 残量が減ると先に薄い側の階調が出なくなり、次にベタ塗りがかすれる |
| ヘッドの位置ズレ | 等間隔の黒い格子に、マゼンタとシアンの十字を重ねて印刷 | ズレ・二重・波打ちで −15 点。根拠: 色版が黒版とずれて刷られると、重ねた十字が格子から外れる |
| 用紙と設定の不一致 | 太さを 7 段階に変えた細線、4〜10pt の文字、用紙の端に沿う外枠を印刷(文字は pt 指定のため印刷時の実寸で出ます) | にじみ −10 点/外枠の欠け −10 点/こすれ −10 点。根拠: 用紙種類の設定が実際の紙と合わないとインク量が過剰になりにじむ。外枠が切れるのは用紙サイズ設定か給紙位置のずれ |
| 計測しないもの | インクの正確な残量、紙詰まりの位置、部品の寿命 | いずれもプリンター本体しか知り得ない情報です。また1 枚も印刷されない場合は接続・ドライバー側の問題の可能性が高く、スコアを出さずに切り分け手順のみを表示します |
印刷テストページは、当サイトで唯一端末の外に出力する検査です。出力先は利用者自身のプリンターだけで、検査用紙の内容も選んだ判定項目もサーバーには送信されません。また、この検査の測定器は紙であり、良否を読み取るのは利用者の目です。そのため上の減点は、利用者が申告した症状に対する配点です。
スコアの算定(100 点満点・減点法)
| ツール | 算定式 | 帯域 |
| キーボード | 100 −(二重入力の検出 1 回につき 15 点。減点上限 60)。検査した範囲のみを評価 | 90 以上 良好 / 70〜89 要注意 / 70 未満 故障の疑い |
| マウス | 100 −(勝手な 2 回入力の検出 1 回につき 15 点。減点上限 60) |
| マイク | 声が届き音割れなし = 100 / 軽い音割れ = 85 / 音割れ多発 = 60 / 入力が小さい・無音 = 50 |
| コントローラー | 100 −(ドリフト実測 10% 超 = 40 点・5〜10% = 15 点を、左右のスティックそれぞれに適用) |
| 回線 | 100 −(ばらつき 100ms 超 = 45 点/30ms 超 = 20 点)−(届かなかった回数 × 15 点。上限 45) |
| タッチパネル | 100 −(追従の途切れ 1 回につき 10 点。上限 40)−(ゴーストタッチ検出 = 30 点) |
| プリンター | 100 −(目詰まりの色 1 つにつき 20 点)−(かすれ 15・位置ズレ 15・階調 10・混色 10・にじみ 10・端の欠け 10・こすれ 10) |
イヤホン・スピーカー検査とモニターテストは、判定の根拠が利用者の自己申告(耳・目)のためスコアを付けません。カメラテストは実測値(fps・解像度・明るさ)と判定のみで、点数化はしていません。
スコアは検査できた範囲の健全度です。単発の検出は誤検知の可能性があるため、繰り返し検査して再現性を確認してください。
改定履歴: 2026-09-19 初版(キーボード・マウス・マイクの 3 ツール、スコア算定を追加)/ 2026-09-19 モニター・カメラ・イヤホン・コントローラーの 4 ツールを追加。キーボードに JIS/US 配列切替とテンキーを追加 / 2026-09-20 回線の安定性テストを追加(8 ツール体制)/ 2026-09-21 タッチパネル診断・印刷テストページを追加(10 ツール体制)。印刷テストページは端末の外(プリンター)に出力する唯一の検査であることを明記