公開する前にページを点検する
ページの点検は、公開する前に、構造の誤りと、ファイルの重さを調べる作業です。見た目が正しくても、題がなかったり、画像に説明がなかったりするページは、人にも検索エンジンにも不親切です。
学食のメニューページを例に、点検の項目と、サイズの見方を学びます。
このレッスンのゴール
メモ
ページの HTML を点検して、直すべき箇所を見つけられる。
重要な言葉
| ことば | いみ |
|---|---|
| 点検 | 決まりを1つずつ確かめる作業 |
| 代替テキスト | 画像が見えない人のための説明。alt 属性に書く |
| バイト | データの大きさの単位。1000バイトが約1キロバイト |
| キャッシュ | 一度受け取ったファイルを、手元に残して使い回す仕組み |
| 壊れたリンク | 行き先がないリンク |
学生が入力するセルは、このプレビューでは空白です。
点検は決まりを1つずつ確かめる
点検では、たとえば、ページに題があるか、画像に alt があるか、h1 は1つだけか、見出しの段を飛ばしていないかを調べます。
機械で調べられる決まりは、スクリプトにすると、何度でも同じ基準で確かめられます。
例: 点検の項目と理由
| 項目 | 理由 |
|---|---|
| 題(title)がある | 検索結果とタブに出る |
| 画像に alt がある | 見えない人に内容を伝える |
| h1 が1つだけ | ページの題を1つに決める |
| 見出しの段を飛ばさない | 目次が正しくなる |
| リンクの行き先がある | 壊れたリンクをなくす |
| 入力欄にラベルがある | 何を入れるかが分かる |
学生が入力するセルは、このプレビューでは空白です。
例: alt のない画像を数える
html = "<img src='a.png'><img src='b.png' alt='焼き魚'><img src='c.png'>"
without_alt = 0
# img の始まりごとに、中身を調べる。
for piece in html.split("<img")[1:]:
tag = piece.split(">")[0]
if "alt=" not in tag:
without_alt = without_alt + 1
print("alt のない画像:", without_alt)
# 練習: c.png に alt='野菜' を足して、もう一度 Run しましょう。
ページの重さはバイトで測る
ページの重さは、バイトで測ります。1000バイトが、約1キロバイトです。HTML、CSS、JavaScript のファイルが大きいほど、受け取る時間が長くなります。
遅い回線では、差が目立ちます。必要のないものは足さないのが基本です。
例: ファイルの大きさを足す
| ファイル | 大きさ |
|---|---|
| index.html | 1800 バイト |
| style.css | 900 バイト |
| app.js | 1300 バイト |
| 合計 | 4000 バイト |
学生が入力するセルは、このプレビューでは空白です。
ラボのページの重さを測る
ラボのページの3つのファイルの大きさを、スクリプトが出します。もう1つのスクリプトは、ページを配る、ラボの小さなサーバーに、実際に頼んでみます。
出る言葉は英語です。bytes はバイト、total は合計、status は状態番号、title はページの題です。
ファイルの大きさを測る
docker exec jupyter python3 steps/sizes.pyここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
サーバーにページを頼む
docker exec jupyter python3 steps/serve.pyここでは表示のみで、実行されません。無料アカウントを作成すると、実行ボタンで自分のラボのターミナルに入力できます。
ページは何度も頼んで届く
ブラウザは、ページを開くとき、まず HTML を頼みます。HTML の中の link と script を見つけると、CSS と JavaScript も頼みます。
サーバーは、状態番号と、ファイルの種類を付けて答えます。200 は成功で、404 は、ファイルがないことです。
キャッシュは受け取ったファイルを使い回す
キャッシュは、一度受け取ったファイルを手元に残して、次は使い回す仕組みです。
サーバーが、しばらくは同じだと答えれば、ブラウザは、通信せずに済みます。ファイルを変えたときは、名前も変えて、古いものを使わせないようにします。
よくある間違い
注意
画像の alt は、空にしておけば問題ないと考える人がいます。内容を伝える画像には、内容を書きます。飾りだけの画像は、alt を空の文字にして、読み上げに出さないようにします。alt を書かないのとは、別のことです。