返回任務地圖

選到內容,就把路讓出來

第 10 堂 · 第 2/3 關 · 觀念 18 分鐘+實作 42 分鐘

查看本堂完整六步
先接任務,準備開始

導覽完成,內容就能接著讀。

APPA把頁內與跨頁兩條路都走一遍,陪你確認沒有為了收起而取消連結。

這關帶走:完成選後收合,保留原導覽與焦點。

步驟 3/6 · 觀念 18 分鐘

先學一招:保留導覽,再同步收合狀態

頁內與跨頁都能前往,選單不擋閱讀。

帶上你的裝備

  • 自己的三頁HTML、navigation.js與原CSS
  • 390px選本頁內容的重現步驟與aria-expanded狀態

點連結不能只關選單卻忘記導覽。保留href預設行為,在窄版選到連結後同步aria-expanded與顯示狀態,桌面不套收合。

nav.addEventListener('click',event=>{
  if(event.target.closest('a') && narrow.matches) setOpen(false);
});

跟著觀察

  1. 在階段01打開選單,選本頁內容觀察收合狀態。
  2. 指出不應preventDefault取消原href。
  3. 比較390與1280是否需要同一個收合行為。
這關點導覽連結應該?

選一個試試看,答錯也可以再試。

這是你的實際操作確認,小測不會替你勾選。

步驟 4/6 · 實作 42 分鐘

動手挑戰:選到內容,就把路讓出來

完成選後收合,保留原導覽與焦點。

先準備

  • 自己的三頁HTML、navigation.js與原CSS
  • 390px選本頁內容的重現步驟與aria-expanded狀態

親手用鍵盤走到本頁內容連結,記錄目前狀態,再讓AI只補選後收合。

照這個順序開始

  1. 390px開啟選單,選本頁內容#main,記實際結果。
  2. 用修改Prompt只補選到導覽連結後收起。
  3. 測三頁與桌面,確認搜尋、Escape與焦點仍正常。

只補選到連結後收起選單

主要使用 Cursor 內建 AI;先附資料,再送出指令。

1.附上這些檔案與資料
  • 自己的三頁HTML、navigation.js與原CSS
  • 390px選本頁內容的重現步驟與aria-expanded狀態
2.貼到哪裡
  1. 在 Cursor 開啟自己的本關練習副本,進入內建 AI 對話;正常版與故障副本分開。
  2. 用 @ 附上本關指定檔案,核對完整路徑;補實際觀察、輸入與結果,再貼下方 Prompt。
  3. 先讀回覆與差異,只保存指定範圍;回到瀏覽器實際檢查。版本保存由自己操作,不讓 AI 代替驗收或提交。
3.預期回覆與操作
  • 只改navigation.js一個連結事件。
  • 不取消導覽,不改桌面與作品事件。
4.自己檢查結果
  • 390px選#main後關閉、aria-expanded=false,內容可讀。
  • 三頁連結、桌面導覽、Escape及搜尋保留。
只補選到連結後收起選單 Prompt(可收合)

你是協助零基礎學員的網站開發助手。我使用 Cursor 免費版編輯原生 HTML、CSS、JavaScript;必要時把你提供的內容手動貼入檔案。

情境與本次輸入:承接第9堂七筆資料的搜尋作品頁。新增三頁共用navigation.js,699px以下用原生button控制site-navigation,700px起導覽可見。加入本頁內容#main連結供同頁關閉驗收;作品搜尋仍由projects.js管理。APPA、紫綠tokens與原網格保留。

本次任務:只在navigation.js加入窄版選到nav內有效a後setOpen(false),同步aria-expanded與nav顯示;保留原href與預設導覽,不preventDefault,不改作品搜尋、清除、CSS或資料。以本頁內容#main驗證同頁收合,再實測三頁跨頁;Escape還焦點、Enter/Space及700px以上桌面可見都保留。提供最小差異與390/1280回歸。

請先閱讀我附上的相關檔案或資料,資訊缺漏時精確列出需要補充的項目,不猜檔名、API 或測試結果。說明以繁體中文撰寫,指出檔案與修改位置;檢查結果區分已知、待驗與未完成。只處理學生自己的練習副本,不改現有展示網站,不要求付費訂閱。
Cursor AI 無法使用?改用 ChatGPT 備援

把上方指定的檔案內容、清單與補充資料,連同同一份 Prompt 貼入 ChatGPT 對話。只貼電腦上的路徑,無法讓它讀取你的檔案。

收到程式碼時,先核對檔名與修改位置,再手動存回自己的練習副本;若收到檢查表或補檔步驟,就逐項操作。不要把 Prompt 或程式碼框的反引號貼進 HTML/CSS。

兩邊都受限時,可先看既有參考成果、檢查差異與手動修改;未做過的 AI 生成或公開發布仍記待完成。不要貼入帳密、金鑰或真實個資。

複製只取得 Prompt 文字,檔案需自行在 Cursor 附上;本頁不會呼叫 AI 或自動完成關卡。

卡住時,APPA 給你一點線索

線索 1|先找現象與證據

先用#main留在同一份文件,才能看見選後是否收合。

線索 2|再縮小修改範圍

把處理限定nav內的a與narrow.matches,避免其他控制受影響。

回到自己的作品,逐項檢查

  • 390px選#main後關閉、aria-expanded=false,內容可讀。
  • 三頁連結、桌面導覽、Escape及搜尋保留。
  • 未實際完成的AI、發布或裝置驗收記待完成。
需要對照?看這一關的參考成果

先檢查自己的作品,再對照差異。開啟參考不會算完成。

對照這一步的結果(另開分頁)

尚未完成可以先往下看,之後再回來補做。

從選單到內容,這條路走得通。

保留自己的修改差異與檢查結果。完成兩項操作確認再往下一關;也可以先閱讀,稍後補做。

關卡紀錄由你自行確認;本頁不會讀取 Cursor 檔案或自動驗收作品。

留下自己的檢查紀錄

這是第 10 堂共用筆記,換關卡仍會保留。未實際做過的操作寫「待完成」。

重設會清除第 10 堂六步勾選,筆記、另一堂進度與網站檔案保留。