対象者の心境:
つまづきポイント:
対象者の思考:
つまづきポイント:
必要なサポート:
対象者の思考プロセス:
「ええと、タイトル部分は...h1タグ?」
「進捗バーは...divかな?でもどうやって棒にするんだろう」
「チェックボックスはinputタグで...」
「ラベルはlabelタグ?でもこんなにきれいになるの?」
つまづきポイント:
必要なサポート:
対象者の実装体験:
5分経過時点:
<h1>今日の学習タスク</h1>
<p>目標: CSS装飾とJavaScript動きをマスターしよう!</p>
<!-- 「あれ、header タグを使った方がいいって言ってたな」 -->
10分経過時点:
<header>
<h1>📚 今日の学習タスク</h1>
<p>目標: CSS装飾とJavaScript動きをマスターしよう!</p>
</header>
<div>
<h2>📈 学習進捗</h2>
<div>進捗バー</div>
<!-- 「進捗バーってどう書くんだっけ?」 -->
</div>
つまづきポイント:
必要なサポート:
<div class="progress-bar"><div class="progress-fill"></div></div>
です」20分経過時点(期待する状態):
対象者の反応:
発見するギャップ:
5分経過時点(全体設定): 対象者の思考:
*
って何?全部に適用される?」* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
background: #f3f4f6;
font-family: sans-serif;
}
つまづきポイント:
15分経過時点(カードレイアウト): 対象者の困惑:
.main-header, section {
background: white;
padding: 2rem;
border-radius: 10px;
box-shadow: 0 2px 10px rgba(0,0,0,0.1);
}
つまづきポイント:
必要なサポート:
水平 垂直 ぼかし 色
の順番です」25分経過時点(進捗バー・タスクアイテム): 対象者の実装:
.progress-bar {
background: #e5e7eb;
height: 25px;
border-radius: 12px;
}
.progress-fill {
background: #10b981;
height: 100%;
width: 0%; /* 「なんで0%?」 */
border-radius: 12px;
}
つまづきポイント:
対象者の感想:
対象者の発見:
5分経過時点: 対象者の試行錯誤:
.task-item:hover {
/* 何を書けばいいんだろう? */
}
つまづきポイント:
10分経過時点:
.task-item:hover {
background: #f1f5f9;
/* 「色は変わったけど、浮き上がらない」 */
}
必要なサポート:
15分経過時点:
.task-item {
transition: all 0.3s ease;
}
.task-item:hover {
background: #f1f5f9;
border-color: #4f46e5;
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(79, 70, 229, 0.2);
}
対象者の感動:
対象者の分析:
3分経過時点(要素取得):
const checkboxes = document.querySelectorAll('.task-checkbox');
// 「querySelectorAllってquerySelectorと何が違うんだっけ?」
つまづきポイント:
7分経過時点(イベント処理):
checkboxes.forEach(checkbox => {
checkbox.addEventListener('change', function() {
// 「ここで何をすればいいんだっけ?」
});
});
対象者の困惑:
必要なサポート:
15分経過時点(進捗計算):
function updateProgress() {
const totalTasks = checkboxes.length;
const completedTasks = document.querySelectorAll('.task-checkbox:checked').length;
// 「:checkedって何?」
const percentage = Math.round((completedTasks / totalTasks) * 100);
// 「Math.roundって何だっけ?」
}
つまづきポイント:
最終的な対象者の感想: