Webアクセシビリティをチェック
どの要素がアクセシビリティを損なっているかを正確に示します。代替テキストのない画像やラベルのない入力欄など、問題ごとにWCAGの基準、深刻度、原因の要素が分かります。月額契約は不要で、使った分だけのお支払いです。
オンラインで実行
アカウントでログインし、当社のサーバー上で実行します。無料ツールはブラウザ内で動作しますが、これは上記の料金がKIT残高から差し引かれます。
指定したURLを読み込み、アクセシビリティ上の問題点を自動で洗い出すツールです。画像のalt属性の欠落やコントラスト不足など改善すべき箇所を一覧にし、幅広い方が読みやすいサイトを保ちたい運営者に向いています。
方針はあっても確かめられていないページ
多くの組織にはアクセシビリティの方針がありますが、個々のページが本当にそれを満たしているか確かめているところは多くありません。怠けているからではなく、人の手による確認は時間がかかり専門知識も必要な一方で、ページは部品が直されたり、代替テキストのない画像が加わったり、デザインの変更で入力欄のラベルが消えたりするたびに変わるからです。この機能は、ページの確認を公開と同じ速さで行えるようにするものです。年に一度の監査を待たず、ほかの作業と同じ頻度でアクセシビリティを確かめられます。
自動チェックで分かることと、人が見るべきこと
自動のアクセシビリティ検査は、この十年ほどで、決まった項目を確かめる信頼できる最初の段階になりました。代替テキストの欠落、色のコントラスト、入力欄のラベル、見出しの構造、ARIAの誤った使い方など、ページそのものから客観的に判断できる問題が対象です。一方で、代替テキストの内容が本当に意味をなしているか、キーボードでの操作が自然かといった点は、人の判断が必要です。報告では、問題ごとにWCAGの達成基準、深刻度、分かりやすい説明、原因の要素が示されるので、開発者は探す手間なく修正に取りかかれます。新しいページの公開前や、デザイン変更の後の確認に向いています。
結果の読み方
検出された項目は問題の種類ごとに分類されます。優先度の高いものから順に対応することをおすすめします。
活用例
公開前の最終チェック
合同会社みどりデザインは、納品前のチェック工程にこの機能を組み込み、alt属性の欠落やコントラスト不足を確認しています。
既存サイトの改善点洗い出し
株式会社山田商事は、運用中のサイトについて、この機能で改善点を洗い出し、優先度の高いものから修正しています。
公共性の高いページの定期点検
有限会社ささき印刷は、自社の採用ページについて、幅広い方が読みやすい状態を保つため定期的にこの機能で点検しています。
よくある質問
ページの内容はどう扱われますか?
指定されたURLは自動ブラウザで読み込み、結果の生成にのみ使用します。ページの内容を保存したり第三者に渡したりすることはありません。
WCAGのどのレベルを基準にチェックしていますか?
一般的に推奨される基準に基づき、alt属性やコントラスト、見出し構造などの主要な項目を確認します。
画像のalt属性の有無も確認できますか?
はい、alt属性が設定されていない画像は結果の一覧に含まれます。
なぜ利用ごとの支払いなのですか?
現在アカウント制度はなく、実行した回数分だけPayPalで直接お支払いいただく仕組みです。
日本語のサポートはありますか?
申し訳ありませんが、日本語でのサポートは行っておりません。サポートは英語またはスペイン語で、担当者が直接対応します。
関連ツール
開発者向け — APIアクセス
このページの機能はすべてAPIからも利用できます。自社システムに組み込みたいチーム向けのセクションです。それ以外の方は上のツールをそのままお使いください。
エンドポイント
Bearerトークンで認証し、POST1回でタスクをキューに登録します。結果はWebhookまたは署名付きリンクで受け取れます。
お使いのスタックから呼び出す
curl -X POST https://api.kit.forhosting.com/web/accessibility \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://example.com"}'const res = await fetch("https://api.kit.forhosting.com/web/accessibility", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"url": "https://example.com"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/web/accessibility",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"url": "https://example.com"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/web/accessibility", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"url":"https://example.com"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"url":"https://example.com"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/web/accessibility", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)リクエスト例
{
"url": "https://example.com"
}レスポンス例
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "web.accessibility",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}非同期APIです。task_idは即時に返ります。ポーリングは1秒あたり1リクエストまでです。
料金
単価はすべて公開しています。トークン換算や独自クレジットはありません。失敗したタスクは課金されません。
制限
timeout_sec | 30 |
max_crawl_pages | 25 |
エラー
| HTTP | コード | 意味 |
|---|---|---|
401 | unauthorized | APIキーが無効か、指定されていません。Authorizationヘッダーを確認してください。 |
402 | insufficient_balance | 残高が不足しています。チャージ後に再度お試しください。 |
404 | unknown_type | 指定されたタスクタイプは存在しません。タイプ名を確認してください。 |
429 | rate_limited | リクエストが多すぎます。しばらく待ってから再度お試しください。 |
422 | task_failed | タスクの処理に失敗しました。このタスクは課金されません。 |
技術的な注記
確認できる内容
ページを読み込み、alt属性の欠落、見出し構造の乱れ、コントラスト不足など、一般的な基準に基づいた問題点を一覧で示します。
向いている場面
公開前の最終チェックや、既存サイトの改善点を洗い出したい場合、公共性の高いサイトでの定期点検に向いています。
料金
ページの内容によって追加分が発生する場合があります。1回の実行につき$0.040からです。
技術的な質問
料金はいくらですか?
1回の実行につき$0.040からです。