ELEMENT System
🧩 UIテンプレート
このファイルはコピー元です。新規システムを作る時はこれを複製して、要らない部品を消してください。 書き写すと必ず崩れます(実際に2026-07-27、既存と同じ崩れを新規画面で再現しました)。

① 表 — 列が多いなら class="tbl tw"

🔴 最頻出の崩れ。.tw が無いと狭い画面で列が均等に縮み、見出しが「区 分」と1文字ずつ縦に割れ、 長い値のセルが1文字ずつ改行されて1行の高さが1000px超になります(element-lms で実際に発生)。

名前区分店舗状態進捗操作
山田 太郎本部ブランド開発利用中88%
鈴木 花子店舗三軒茶屋招待中0%
説明文が入る行は colspan を使う(折り返しが効きます)

② 4つの状態 — すべての画面が必ず持つ

🔴 「空」を名詞だけ(例:「感想なし」)で済ませない。0件なのか、まだ無いのか、条件が悪いのかを利用者は区別できません。 次に何をすればいいかまで書きます。

読み込み中
空(まだ無い)
まだ提出された感想はありません
受講者が感想を出すとここに表示されます。
空(絞り込みの結果0件)
この条件に一致する受講者はいません
読み込めませんでした
お手数ですが、時間をおいて再度お試しください。繰り返す場合は本部へご連絡ください。

🔴 エラー文に内部の例外メッセージ・英語をそのまま出さない(何が漏れるか分からない・利用者は対処できない)。 詳細はサーバーログへ。

③ フォーム — 保存したら必ず結果を出す

🔴 保存後に画面が戻るだけだと、成功したのか分からず連打・二重登録を招きます。何が起きたかを名前つきで返します。

受講者に表示される名前です。
メールアドレスの形式が正しくありません(@より後ろを入れてください)

・label for と id を必ず対にする(読み上げ・タップ範囲が効く)
・入力欄の文字は 16px以上(iOSが勝手にズームします)
・エラーはその入力欄の真下に、直し方まで日本語で書く

④ ボタン — 主・副・危険の3種だけ

1画面に主ボタン(黄)は原則1つ。増やすと「どれを押せばいいか」が消えます。黄は面にだけ使い、文字や線には使いません。

⑤ 文言 — 用語をぶらさない

種類使う言葉使わない言葉
人受講者受講生/ユーザー/対象者
状態未着手/受講中/完了/ロック中未完了/未開放/済
保存操作変更を保存登録/更新/送信(混在)
提出操作感想を提出/改善要望を送信投稿する/送る

🔴 同じものを別の言葉で呼ばない。画面ごとに揺れると、利用者は「別の機能」だと思います。 新しい語を作る前に、この表に無いか確認します。