Quick Fixes / 既存サイトの小修正

その困りごと、
触って直せます。

「スマホで崩れる」「フォームが動かない」「文字が読みにくい」——既存サイトのよくある小さなつまずきを、実際に動くBefore→Afterで並べたデモ集です。各項目は「課題→対応→効果」とセットで、その場で切り替えて違いを確かめられます。

  • vanilla HTML / CSS / JS
  • 単発・部分修正に対応
  • 触って違いが分かる
  • JS無効でも全内容が見える

※ 本ページのデモ・数値(コントラスト比や速度の目安)はすべて説明用の例示です。送信フォームはデモ動作のみで、実際の送信・データ保存は行いません。電話番号も架空のサンプルです。

01 Responsive

スマホ対応化(横スクロール解消)

PC時代の固定幅レイアウトは、スマホで画面からはみ出して横スクロールが発生します。下のBefore枠を狭くすると文字が切れてはみ出し、Afterは幅に合わせて折り返します。

課題

固定 width の本文や表が、スマホ画面より広く、横スクロールやピンチズームが必要になる。

対応

<meta viewport> の追加、固定幅を max-width:100% へ、Flex/Grid と clamp() による可変化。

効果

スマホで等倍のまま読める。離脱が減り、来店・問い合わせの導線が機能する。

実演:枠の幅を変えて挙動を比較 幅を280pxにするとBeforeははみ出します
プレビュー幅:
Before:固定幅ではみ出す

枠を狭めると横スクロールが出ます

After:幅に合わせて収まる

同じ幅でも横スクロールなし

02 Form Validation

問い合わせフォーム設置・バリデーション

未入力のまま送れてしまう素朴なフォームを、必須・メール形式チェック付きの実動フォームに。下のフォームは本当に検証が動きます(送信は行いません)。空のまま、または不正なメールで送信を押すと、その場でエラーが表示されます。

課題

必須チェックもメール形式チェックもなく、空送信・誤記で問い合わせが届かない/返信できない。

対応

必須・メール形式の検証、送信時のインラインエラー、aria-invalid / aria-describedby で支援技術にも通知。

効果

入力ミスがその場で分かり、確実に届くフォームに。問い合わせの取りこぼしを防ぐ。

実演:実際に入力・検証できるフォーム
Before:検証なしの素朴なフォーム

空欄でも・メール形式が変でも、そのまま送信扱いになってしまいます。

03 Performance / CLS

表示速度・画像最適化(レイアウトシフト解消)

寸法指定のない大きな画像は、読み込み完了の瞬間に下の文章を突き飛ばします(CLS=レイアウトのガタつき)。下のBefore枠は「画像が後から入る」様子を再現し、Afterは aspect-ratio で場所を先取りするので文章が動きません。

課題

巨大画像・寸法未指定で、読み込み時に文章が飛ぶ(CLS)。表示も遅く、読もうとした瞬間に位置がずれる。

対応

width/height または aspect-ratio で場所を確保、loading="lazy" で遅延読込、適切なサイズ・形式に。

効果

読んでいる最中に画面が飛ばない。表示が軽くなり、誤タップやストレスを防ぐ。Core Web Vitals にも好影響。

実演:画像読み込み時のレイアウトシフト 「画像を読み込む」を押すと違いが出ます

Before:寸法なし → 文章が飛ぶ
読み込み後に入る画像

この本文は、上に画像が「後から」入ると下へ押し出されます。読んでいた行が突然動くのがCLSです。(「画像を読み込む」を押すと再現します)

After:aspect-ratioで場所を確保
予約済みの表示領域

こちらは先に高さを確保しているので、画像が入っても本文は1pxも動きません

コード差分(要点):

/* Before:寸法もloadingもない */ - <img src="hero.jpg"> /* After:寸法を伝え、遅延読込・縦横比を固定 */ + <img src="hero.jpg" width="1600" height="900" + loading="lazy" decoding="async" alt="店内の様子"> + /* CSS */ img { aspect-ratio: 16 / 9; height: auto; }

※ 速度・CLSの数値は実装方針の説明用の例示です(例:CLS 0.25 → 0.00、初期表示の体感が軽くなる)。実測値は対象サイトでの計測が必要です。

04 Readability / Contrast

文字の可読性・コントラスト改善

「おしゃれだから」と薄いグレーにした文字や、詰まった行間は、読めない=伝わらない原因に。下のトグルでBefore(薄い・小さい・詰まった)とAfter(WCAG AA以上・適切な行間とサイズ)を切り替えて見比べてください。

課題

薄いグレー文字・12px・行間が詰まっており、コントラスト比がAA基準(4.5:1)に届かず読みにくい。

対応

文字色をWCAG AA以上のコントラストへ、本文16px前後・行間1.85に。リンクは下線+十分な色差。

効果

年齢や環境を問わず読める。但し書き・注意事項まで確実に届き、信頼感が上がる。

実演:可読性のBefore / After
Before:薄い・小さい・詰まっている

当院について

夜間も診療しております。保険適用の有無は症状により異なりますので、受付までお問い合わせください。休診日は祝日と第2・第4日曜です。アクセスはこちら

コントラスト比 本文 約 1.9 : 1(AA基準 4.5 : 1 に不適合)

05 Tap-to-call

電話番号の tel: リンク化&タップ領域

プレーンテキストの電話番号は、スマホで「長押し→コピー→電話アプリへ貼り付け」が必要で離脱の元。tel: リンクにすればワンタップで発信できます。下のAfterボタンは実際の tel: リンクで、タップ領域も48pxを確保しています。

課題

電話番号がただの文字。スマホでタップしても何も起きず、手入力が必要で発信前に離脱しやすい。

対応

<a href="tel:..."> でリンク化。タップ領域を高さ44px以上に確保し、押しやすく。

効果

スマホからワンタップで発信。今すぐ電話したいユーザーを逃さない。

実演:tel: リンクのBefore / After Afterはスマホで実際に発信ダイアログが開きます
Before:ただのテキスト

TEL:03-1234-5678

タップしても反応なし。番号を覚える/手で入力する必要があります。

After:tel: リンク+大きなタップ領域

03-1234-5678 に発信

スマホでワンタップ発信。タップ領域は高さ48px。

コード差分(要点):

- TEL:03-1234-5678 + <a href="tel:+81312345678">03-1234-5678 に発信</a> /* CSS: タップ領域を確保 */ + a[href^="tel:"] { display:inline-flex; min-height:44px; + align-items:center; padding:.7rem 1.4rem; }

06 Layout Fix

デザイン崩れ・レイアウト修正

固定幅やはみ出すボタン、折り返さない行は、狭い画面で枠を突き破ります。下のBeforeは width 固定とボタンはみ出しで崩れる例。Afterは min-width:0flex-wrapmax-width:100% で整えています。トグルで切替できます。

課題

固定幅のカードやボタンが親枠からはみ出し、要素が重なる/横スクロールが出る/文字が切れる。

対応

Flex/Grid 化、min-width:0 で縮小を許可、flex-wrap で折り返し、ボタンを max-width:100% に。

効果

どの画面幅でもきれいに収まる。崩れによる不信感をなくし、操作しやすくなる。

実演:料金カードの崩れ → 修正
Before:固定幅が枠からはみ出す
人気 スタンダード回数券プラン
全身もみほぐし 60分 × 10回33,000円
有効期限 6ヶ月・予約優先税込
このプランを予約する

点線=幅330pxの表示枠(スマホ想定・Before/After共通)。カード幅380px・ボタン320pxの固定指定が枠より広いため右にはみ出し、横スクロールが発生しています(枠内を横にスクロールしてみてください)。

「ここだけ直したい」に、ピンポイントで。

このページの修正は、いずれも数時間〜の単発・部分対応が可能なものです。気になる箇所のBefore→Afterを実際に触ってから、お気軽にご相談ください。