表計算からHTMLテーブルへ
セルの範囲を貼り付けると、本物の見出しセル、キャプション、整った数値を持ち、スクリーンリーダーでも迷わないテーブルのマークアップができます。公開前にシートで直すべき点もチェックが教えてくれます。
変換はブラウザー内で行われます。セルの内容はアップロードも保存もされません。
チェック
プレビュー
「WordPress用」モードではプレビューは無地です。サイト上ではテーマがフォント、色、罫線を決めます。
HTMLコード
セルを一つずつ読まれる表
表を見るとき、目は列の上へ飛んで、数字が何を意味するかを確かめます。スクリーンリーダーを使う人はセルを一つずつ聞くので、上をちらりと見ることができません。だから、値と見出しのつながりをマークアップで伝える必要があります。
<table>
<caption>Sales by region, 2026</caption>
<thead>
<tr><th scope="col">Region</th><th scope="col">Revenue</th></tr>
</thead>
<tbody>
<tr><th scope="row">North</th><td>$4,200</td></tr>
</tbody>
</table>scope="col" と scope="row" があれば、このセルは「North、Revenue、$4,200」と読み上げられます。caption は利用者が表に入ったときに読まれるので、詳しく見る価値があるかを判断できます。スプレッドシートのスクリーンショットでは、これが何も伝わりません。検索もできず、拡大するとぼやけます。
セルの読み取り方
Excel、Googleスプレッドシート、LibreOfficeからコピーすると、範囲のHTML版がクリップボードに入ります。ツールはまずその版を読むので、結合セルが colspan と rowspan として残ります。
入力したテキストやCSVファイル(最大5 MB、UTF-8で読み、だめならWindows-1252)の場合は、区切り文字を見極める必要があります。どこかにタブ文字があれば、それで決まりです。なければ、最初の30行でセミコロン、カンマ、縦棒を試し、列数が最もそろうものを選びます。データの周りの空の行と列は取り除きます。
見出しは1行目です。その行のセルが下方向に結合されていれば、見出しはそれを覆うまで広がります。最大3行までです。
数値と日付の扱い
埋まっているセルの80パーセント以上が数値として読める列は、数値列とみなします。数値列は桁がそろうよう右揃えにします。
| シート上の表記 | 解釈 | 米国式の出力 |
|---|---|---|
1 234,5 $ | 金額 | $1,234.5 |
($2,400.00) | 負の金額、会計表記 | -$2,400.00 |
12,5 % | パーセント | 12.5% |
2026, 00417 | 年またはコード | 変更なし |
5/3/2026 | 日付、順序不明 | 下記参照 |
記号のない整数は、同じ列に金額もある場合を除いてそのままにします。年や参照番号に桁区切りが付かないようにするためです。0で始まる値はコードとみなし、一切触りません。あいまいな 1,234 については、シートのほかの部分が小数をどう書いているかを見てから決めます。
日付は、誰も読み間違えない唯一の順序である YYYY-MM-DD に書き換えます。列が日が先か月が先かを知るために、どちらかの位置に12を超える値がないかを探します。決め手となるセルがなければ、日付は入力どおりに残し、その数をチェックでお知らせします。
認識する通貨記号はドル記号だけです。€、£、通貨コードで書かれたセルはテキストとして残します。書式は変えず、数値列の判定にも数えません。
チェック結果の読み方
- 見出し行がない、または1行目がデータに見える(半分以上が数値や日付):シートに見出しの行を追加してください。
- 見出しのない列:見出しセルが空だと、スクリーンリーダーは何も読み上げられません。
- キャプションがない:短い一言で十分です。
- 結合セルを維持:有効ですが、移動しにくくなります。結合を解除して値を繰り返すほうが親切です。
- 空の行や列:表計算では余白ですが、ウェブページでは邪魔なだけです。
- 幅の広い表:5列を超えていて、横スクロールがオフになっています。
どの警告にも当てはまらなければ、構造がアクセシブルであることを確認する一行が出ます。
2種類の出力
- WordPress用
- 表はスタイルをほとんど持たない
<figure class="wp-block-table">に入るので、テーマがほかの表と同じように描きます。コードを「カスタムHTML」ブロックに貼り付けてください。 - 単体用
- コードには、固有のクラス名に結び付いた短い
<style>ブロックが付きます。ほかのサイトや単独のページ向けです。完全な.htmlファイルとしてダウンロードすることもできます。
スクロールがオンなら、外枠に role="region"、tabindex="0"、キャプションから取ったラベルが付きます。キーボードの利用者はその領域にフォーカスし、矢印キーでスクロールできます。
持ち出されるのはセルの値だけです。数式、セルの色、太字、列幅、スプレッドシートの表示設定にしかない数値書式は残ります。
よくある質問
Excelの表をHTMLに変換するには?
Excelでセルを選んでコピーし、このページの入力欄に貼り付けます。1行目に列の見出しがあることを確かめ、キャプションを入力してから、生成されたコードをページにコピーしてください。
テーブルのscope="col"は何をする?
見出しセルがその下の列全体のラベルであることを支援技術に伝えます。利用者がデータセルに移ると、ソフトウェアはまず見出しを読みます。scope="row" は、行見出しの右側のセルについて同じことをします。
スプレッドシートは表で公開すべき?画像で公開すべき?
表です。画像の中の文字は、読み上げ、検索、翻訳、コピー、拡大縮小ができず、スマホでは誰にも読めません。検索エンジンも数字を読めません。
HTMLテーブルで結合セルは使える?
はい。colspan と rowspan で使えますし、このツールも維持します。ただしスクリーンリーダーの利用者には移動しにくくなるので、まとめた見出しに使い、データの行では避けてください。
日付が変換されなかったのはなぜ?
03/04/2026のような値は、3月4日とも4月3日とも読めます。同じ列のどの日付にも順序を決める12を超える数字がなければ、ツールはすべて入力どおりに残します。シートで日付をYYYY-MM-DDと書けば、迷いはなくなります。
幅の広い表をスマホに収めるには?
スクロールのオプションをオンのままにしてください。表は自分の枠の中で横にスライドし、ページのほかの部分は幅を保ちます。文字を小さくするより、スマホの読者に不要な列を削るほうが効果的です。