600 lines
40 KiB
Markdown
600 lines
40 KiB
Markdown
# 互動式單字查詢 UI 線框圖設計
|
||
|
||
## 1. 頁面流程概覽
|
||
|
||
```
|
||
首頁 → 登入/註冊 → Dashboard → 詞卡生成頁 → 句子分析模式 → 互動式查詢 → 詞卡生成
|
||
↓ ↓ ↓ ↓ ↓ ↓ ↓
|
||
引導頁 認證流程 快速訪問 輸入界面 分析處理 點擊查詢 學習材料
|
||
```
|
||
|
||
## 2. 主要頁面線框圖
|
||
|
||
### 2.1 詞卡生成頁 - 輸入模式
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ [≡] DramaLing [🔔] [👤] jett@email │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ AI 智能生成詞卡 - 互動式單字查詢 │
|
||
│ │
|
||
│ ┌─ 原始例句類型 ──────────────────────────────────────────────────┐ │
|
||
│ │ │ │
|
||
│ │ ┌─────────────────────┐ ┌─────────────────────────────────┐ │ │
|
||
│ │ │ [✍️ 手動輸入] │ │ [📷 影劇截圖] (訂閱功能) │ │ │
|
||
│ │ │ │ │ │ │ │
|
||
│ │ │ ● 選中狀態 │ │ ○ 未選中 │ │ │
|
||
│ │ │ 貼上或輸入英文文本 │ │ 上傳影劇截圖 (Phase 2) │ │ │
|
||
│ │ └─────────────────────┘ └─────────────────────────────────┘ │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 輸入英文文本 ──────────────────────────────────────────────────┐ │
|
||
│ │ │ │
|
||
│ │ 輸入英文句子(最多300字)... │ │
|
||
│ │ ┌─────────────────────────────────────────────────────────────┐ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ └─────────────────────────────────────────────────────────────┘ │ │
|
||
│ │ 最多 300 字元 • 目前:0 字元 [還可輸入 300 字] │ │
|
||
│ │ │ │
|
||
│ │ 💡 示例句子: │ │
|
||
│ │ ┌─────────────────────────────────────────────────────────────┐ │ │
|
||
│ │ │ [點擊使用] He brought this thing up during our meeting... │ │ │
|
||
│ │ └─────────────────────────────────────────────────────────────┘ │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────────────────────┐ │
|
||
│ │ 🔍 分析句子(點擊查詢單字) │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────────────────────┐ │
|
||
│ │ 🆓 免費用戶:已使用 0/5 次 (3小時內) │ │
|
||
│ │ ⏰ 下次重置時間:2025-09-17 15:48 │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.2 分析中狀態
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ [≡] DramaLing [🔔] [👤] jett@email │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ [←] 返回輸入 句子分析中 │
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────────────────────┐ │
|
||
│ │ │ │
|
||
│ │ 🔄 正在分析句子... │ │
|
||
│ │ │ │
|
||
│ │ He brought this thing up during our meeting │ │
|
||
│ │ and no one agreed. │ │
|
||
│ │ │ │
|
||
│ │ ⚡ AI 正在解析單字和片語 │ │
|
||
│ │ │ │
|
||
│ │ ████████████████████░░░░░░ 80% │ │
|
||
│ │ │ │
|
||
│ │ 預計完成時間:5 秒 │ │
|
||
│ │ │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ 💡 小提示:分析完成後,您可以點擊任何單字查看詳細意思! │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.3 分析結果 - 互動式查詢模式
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ [≡] DramaLing [🔔] [👤] jett@email │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ [←] 返回輸入 句子分析結果 │
|
||
│ │
|
||
│ ┌─ 原始句子分析 ──────────────────────────────────────────────────┐ │
|
||
│ │ │ │
|
||
│ │ 📝 用戶輸入: │ │
|
||
│ │ He brought this thing up during our meeting and no one agreed.│ │
|
||
│ │ │ │
|
||
│ │ ✅ 語法檢查:無錯誤 │ │
|
||
│ │ │ │
|
||
│ │ 📖 整句意思: │ │
|
||
│ │ 他在我們的會議中提出了這件事,但沒有人同意。這句話表達了在會 │ │
|
||
│ │ 議中有人提出某個議題或想法,但得不到其他與會者的認同。 │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 點擊查詢單字意思 ──────────────────────────────────────────────┐ │
|
||
│ │ │ │
|
||
│ │ 💡 使用說明:點擊下方句子中的任何單字,可以立即查看詳細意思。 │ │
|
||
│ │ 🟡 黃色邊框 = 高價值片語 🟢 綠色邊框 = 高價值單字 🔵 藍色 = 其他 │ │
|
||
│ │ ⭐ 高價值詞彙點擊免費 | 💰 其他詞彙點擊收費 │ │
|
||
│ │ │ │
|
||
│ │ ╔═══════════════════════════════════════════════════════════╗ │ │
|
||
│ │ ║ He [brought]⭐ this [thing] [up]⭐ during our [meeting]⭐ ║ │ │
|
||
│ │ ║ and no [one] [agreed]. ║ │ │
|
||
│ │ ╚═══════════════════════════════════════════════════════════╝ │ │
|
||
│ │ │ │
|
||
│ │ 範例: │ │
|
||
│ │ • brought/up 🟡 黃色邊框 + ⭐(高價值片語,免費點擊) │ │
|
||
│ │ • meeting 🟢 綠色邊框 + ⭐(高價值單字,免費點擊) │ │
|
||
│ │ • thing/one 🔵 藍色邊框(低價值單字,點擊扣1次) │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 操作選項 ──────────────────────────────────────────────────────┐ │
|
||
│ │ [🔄 分析新句子] [📖 生成學習詞卡] │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ 📊 使用統計:今日已分析 1 個句子,剩餘 4 次免費額度 │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.4 單字資訊彈窗 - 低價值單字 (收費)
|
||
|
||
```
|
||
┌─ thing ─────────────────────── × ┐
|
||
│ │
|
||
│ 💰 低價值詞彙(扣除 1 次使用額度)│
|
||
│ ┌─────────────────────────────┐ │
|
||
│ │ ⚠️ 此查詢將消耗 1 次額度 │ │
|
||
│ │ 剩餘額度:3/5 次 │ │
|
||
│ │ [✅ 確認查詢] [❌ 取消] │ │
|
||
│ └─────────────────────────────┘ │
|
||
│ │
|
||
│ 📘 noun | /θɪŋ/ | [🔊 US] [🔊 UK] │
|
||
│ │
|
||
│ 🇹🇼 翻譯:事情、東西 │
|
||
│ │
|
||
│ 📖 定義:An object, fact, or │
|
||
│ situation │
|
||
│ │
|
||
│ 🔗 同義詞: │
|
||
│ [object] [matter] [item] │
|
||
│ │
|
||
│ 📝 例句: │
|
||
│ • 原始:He brought this thing up │
|
||
│ 翻譯:他提出了這件事 │
|
||
│ │
|
||
│ • 生成:That's an important │
|
||
│ thing to remember │
|
||
│ 翻譯:那是需要記住的重要事情 │
|
||
│ [📷 查看例句圖] [🔊 播放] │
|
||
│ │
|
||
│ 🎯 難度:A1 (基礎) │
|
||
│ │
|
||
│ [📚 加入學習清單] [📖 生成詞卡] │
|
||
└─────────────────────────────────┘
|
||
```
|
||
|
||
### 2.5 單字資訊彈窗 - 高價值片語 (免費)
|
||
|
||
```
|
||
┌─ brought ───────────────────────── × ┐
|
||
│ │
|
||
│ ⭐ 高價值片語(免費查詢) │
|
||
│ ┌─────────────────────────────────┐ │
|
||
│ │ 🟡 片語:bring up │ │
|
||
│ │ 🇹🇼 意思:提出(話題)、養育 │ │
|
||
│ │ ⚡ 提醒:在這個句子中,"brought │ │
|
||
│ │ up" 是一個片語,意思是"提出話題" │ │
|
||
│ │ ,而不是單純的"帶來" │ │
|
||
│ │ 🎯 學習價值:⭐⭐⭐⭐⭐ (極高) │ │
|
||
│ └─────────────────────────────────┘ │
|
||
│ │
|
||
│ 📘 verb | /brɔːt/ | [🔊 US] [🔊 UK] │
|
||
│ │
|
||
│ 🇹🇼 單字翻譯:帶來、提出 │
|
||
│ │
|
||
│ 📖 單字定義:Past tense of bring; │
|
||
│ to take or carry something to a │
|
||
│ place │
|
||
│ │
|
||
│ 🔗 同義詞:[carried] [took] [delivered] │
|
||
│ 🔄 反義詞:[removed] [took away] │
|
||
│ │
|
||
│ 📝 例句: │
|
||
│ • 原始:He brought this thing up │
|
||
│ 翻譯:他提出了這件事 │
|
||
│ │
|
||
│ • 生成:She brought up an important │
|
||
│ point about the budget │
|
||
│ 翻譯:她提出了關於預算的重要觀點 │
|
||
│ [📷 查看例句圖] [🔊 播放] │
|
||
│ │
|
||
│ 🎯 難度:B1 (中級) │
|
||
│ │
|
||
│ [📚 加入學習清單] [📖 生成詞卡] │
|
||
└─────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.6 例句圖片檢視器
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ [× 關閉] │
|
||
│ │
|
||
│ 📷 例句情境圖 │
|
||
│ "bring up" - 提出話題 │
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────────────────────┐ │
|
||
│ │ │ │
|
||
│ │ [圖片載入中...] │ │
|
||
│ │ │ │
|
||
│ │ 會議室場景插圖 │ │
|
||
│ │ 一個人在會議中舉手發言 │ │
|
||
│ │ │ │
|
||
│ │ 💬 "Let me bring up another point..." │ │
|
||
│ │ │ │
|
||
│ │ │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ 📝 情境說明:會議中提出新話題 │
|
||
│ │
|
||
│ ┌─────────────────────────────────────────────────────────────────┐ │
|
||
│ │ [🔊 播放例句] [📱 分享圖片] [💾 儲存到相簿] [❤️ 收藏] │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.7 語法錯誤修正顯示
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ [←] 返回輸入 句子分析結果 │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ ┌─ 原始句子分析 ──────────────────────────────────────────────────┐ │
|
||
│ │ │ │
|
||
│ │ 📝 用戶輸入: │ │
|
||
│ │ I go to school yesterday and meet my friends. │ │
|
||
│ │ │ │
|
||
│ │ ❌ 語法檢查:發現 2 個錯誤 │ │
|
||
│ │ ┌─ 建議修正 ───────────────────────────────────────────────┐ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ 🔧 修正後: │ │ │
|
||
│ │ │ I went to school yesterday and met my friends. │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ 📋 修正說明: │ │ │
|
||
│ │ │ 1. "go" → "went" (過去式時態修正) │ │ │
|
||
│ │ │ 2. "meet" → "met" (過去式時態修正) │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ [✅ 使用修正版本] [❌ 保持原始版本] │ │ │
|
||
│ │ └─────────────────────────────────────────────────────────┘ │ │
|
||
│ │ │ │
|
||
│ │ 📖 整句意思: │ │
|
||
│ │ 我昨天去學校遇見了我的朋友們。這句話描述了過去發生的事情... │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 點擊查詢單字意思 ──────────────────────────────────────────────┐ │
|
||
│ │ 💡 以下基於修正後的句子進行分析 │ │
|
||
│ │ 🟡 黃色邊框 + ⭐ = 高價值片語 🟢 綠色邊框 + ⭐ = 高價值單字 │ │
|
||
│ │ │ │
|
||
│ │ ╔═══════════════════════════════════════════════════════════╗ │ │
|
||
│ │ ║ I [went]⭐ to school [yesterday] and [met]⭐ my friends. ║ │ │
|
||
│ │ ╚═══════════════════════════════════════════════════════════╝ │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 2.8 使用限制提醒
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────────────────┐
|
||
│ ⚠️ 使用限制提醒 │
|
||
├─────────────────────────────────────────────────────────────────────────┤
|
||
│ │
|
||
│ 🆓 免費用戶限制 │
|
||
│ │
|
||
│ 您今日的句子分析額度已用完 (5/5 次) │
|
||
│ │
|
||
│ ⏰ 下次重置時間:3小時後 │
|
||
│ (2025-09-17 18:48) │
|
||
│ │
|
||
│ ┌─ 升級建議 ──────────────────────────────────────────────────────┐ │
|
||
│ │ │ │
|
||
│ │ 🌟 升級到付費方案,享受無限制分析: │ │
|
||
│ │ │ │
|
||
│ │ ✅ 無限次句子分析 │ │
|
||
│ │ ✅ 每日50張例句圖生成 │ │
|
||
│ │ ✅ 進階AI分析功能 │ │
|
||
│ │ ✅ 優先客服支援 │ │
|
||
│ │ │ │
|
||
│ │ [🚀 立即升級 NT$99/月] │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 其他選項 ──────────────────────────────────────────────────────┐ │
|
||
│ │ [⏰ 設定提醒] [📚 瀏覽現有詞卡] [🏠 返回首頁] │ │
|
||
│ └─────────────────────────────────────────────────────────────────┘ │
|
||
│ │
|
||
└─────────────────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
## 3. 行動裝置適配版本
|
||
|
||
### 3.1 手機版 - 輸入介面 (375px)
|
||
|
||
```
|
||
┌─────────────────────────────────┐
|
||
│ ≡ DramaLing 🔔 👤 │
|
||
├─────────────────────────────────┤
|
||
│ │
|
||
│ AI 智能詞卡生成 │
|
||
│ │
|
||
│ ┌─ 輸入類型 ─────────────────┐ │
|
||
│ │ [✍️ 手動] [📷 截圖] │ │
|
||
│ │ ● ○ │ │
|
||
│ └───────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 英文句子 ─────────────────┐ │
|
||
│ │ 輸入英文句子(最多300字) │ │
|
||
│ │ ┌─────────────────────────┐ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ │ │ │ │
|
||
│ │ └─────────────────────────┘ │ │
|
||
│ │ 0/50 字 │ │
|
||
│ │ │ │
|
||
│ │ 💡 示例: │ │
|
||
│ │ [He brought this up...] │ │
|
||
│ └───────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─────────────────────────────┐ │
|
||
│ │ 🔍 分析句子(點擊查詢) │ │
|
||
│ └─────────────────────────────┘ │
|
||
│ │
|
||
│ 🆓 免費:0/5 次 │
|
||
│ ⏰ 重置:3小時後 │
|
||
│ │
|
||
└─────────────────────────────────┘
|
||
```
|
||
|
||
### 3.2 手機版 - 分析結果
|
||
|
||
```
|
||
┌─────────────────────────────────┐
|
||
│ ← 返回 句子分析結果 │
|
||
├─────────────────────────────────┤
|
||
│ │
|
||
│ ┌─ 原始句子 ─────────────────┐ │
|
||
│ │ He brought this thing up │ │
|
||
│ │ during our meeting and no │ │
|
||
│ │ one agreed. │ │
|
||
│ │ │ │
|
||
│ │ 📝 整句意思: │ │
|
||
│ │ 他在會議中提出了這件事... │ │
|
||
│ └───────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 點擊查詢 ─────────────────┐ │
|
||
│ │ 💡 點擊單字查看詳細意思 │ │
|
||
│ │ 🟡 黃色=片語 🔵 藍色=單字 │ │
|
||
│ │ │ │
|
||
│ │ ╔═════════════════════════╗ │ │
|
||
│ │ ║ He [brought] this ║ │ │
|
||
│ │ ║ [thing] [up] during our ║ │ │
|
||
│ │ ║ [meeting] and no [one] ║ │ │
|
||
│ │ ║ [agreed]. ║ │ │
|
||
│ │ ╚═════════════════════════╝ │ │
|
||
│ └───────────────────────────────┘ │
|
||
│ │
|
||
│ ┌─ 操作 ─────────────────────┐ │
|
||
│ │ [🔄 新句子] [📖 生成詞卡] │ │
|
||
│ └───────────────────────────────┘ │
|
||
│ │
|
||
│ 📊 今日:1/5 次 │
|
||
└─────────────────────────────────┘
|
||
```
|
||
|
||
### 3.3 手機版 - 單字彈窗
|
||
|
||
```
|
||
┌─────────────────────────────────┐
|
||
│ × │
|
||
│ brought │
|
||
├─────────────────────────────────┤
|
||
│ ⚠️ 這個單字屬於片語! │
|
||
│ │
|
||
│ 🔶 片語:bring up │
|
||
│ 🇹🇼 意思:提出(話題)、養育 │
|
||
│ ⚡ 提醒:這裡是"提出話題"的意思 │
|
||
│ │
|
||
├─────────────────────────────────┤
|
||
│ 📘 verb | /brɔːt/ │
|
||
│ [🔊 US] [🔊 UK] │
|
||
│ │
|
||
│ 🇹🇼 翻譯:帶來、提出 │
|
||
│ │
|
||
│ 📖 定義:Past tense of bring; │
|
||
│ to take or carry something to │
|
||
│ a place │
|
||
│ │
|
||
│ 🔗 同義詞: │
|
||
│ [carried] [took] [delivered] │
|
||
│ │
|
||
│ 📝 例句: │
|
||
│ • 原始:He brought this up │
|
||
│ 翻譯:他提出了這件事 │
|
||
│ │
|
||
│ • 生成:She brought up a point │
|
||
│ 翻譯:她提出了一個觀點 │
|
||
│ [📷] [🔊] │
|
||
│ │
|
||
│ 🎯 難度:B1 │
|
||
│ │
|
||
│ [📚 加入清單] [📖 生成詞卡] │
|
||
│ │
|
||
└─────────────────────────────────┘
|
||
```
|
||
|
||
## 4. 互動流程圖
|
||
|
||
### 4.1 完整用戶旅程
|
||
|
||
```
|
||
開始
|
||
↓
|
||
選擇輸入模式 (手動/截圖)
|
||
↓
|
||
[手動模式]
|
||
輸入英文句子 (≤50字)
|
||
↓
|
||
點擊「分析句子」
|
||
↓
|
||
檢查使用限制
|
||
↓ ↓
|
||
通過 超限
|
||
↓ ↓
|
||
顯示分析中... 顯示升級提醒
|
||
↓ ↓
|
||
AI 分析完成 [升級] or [等待]
|
||
↓
|
||
顯示互動式文字
|
||
↓
|
||
點擊任意單字
|
||
↓
|
||
顯示單字資訊彈窗
|
||
↓ ↓
|
||
普通單字 片語/俚語
|
||
↓ ↓
|
||
基礎資訊 片語警告 + 基礎資訊
|
||
↓ ↓
|
||
[播放發音] [播放發音]
|
||
[查看例句圖] [查看例句圖]
|
||
[加入學習清單] [加入學習清單]
|
||
[生成詞卡] [生成詞卡]
|
||
↓
|
||
關閉彈窗
|
||
↓
|
||
繼續查詢其他單字 or 分析新句子 or 生成詞卡
|
||
```
|
||
|
||
### 4.2 錯誤處理流程
|
||
|
||
```
|
||
用戶操作
|
||
↓
|
||
系統檢查
|
||
↓ ↓ ↓ ↓
|
||
正常 網路錯誤 API錯誤 使用超限
|
||
↓ ↓ ↓ ↓
|
||
執行 重試提示 錯誤提示 升級提示
|
||
↓ ↓ ↓
|
||
[重試] [回報] [升級/等待]
|
||
[取消] [返回] [返回]
|
||
```
|
||
|
||
## 5. 響應式設計斷點
|
||
|
||
### 5.1 斷點定義
|
||
|
||
```css
|
||
/* 手機 */
|
||
@media (max-width: 767px) {
|
||
.container { padding: 1rem; }
|
||
.word-popup {
|
||
width: 90vw;
|
||
position: fixed;
|
||
bottom: 0;
|
||
transform: none;
|
||
}
|
||
}
|
||
|
||
/* 平板 */
|
||
@media (min-width: 768px) and (max-width: 1023px) {
|
||
.container { padding: 1.5rem; }
|
||
.interactive-text { font-size: 1.1rem; }
|
||
}
|
||
|
||
/* 桌面 */
|
||
@media (min-width: 1024px) {
|
||
.container { padding: 2rem; }
|
||
.word-popup { min-width: 400px; }
|
||
}
|
||
```
|
||
|
||
### 5.2 觸控優化
|
||
|
||
```css
|
||
/* 手機觸控優化 */
|
||
@media (max-width: 767px) {
|
||
.clickable-word {
|
||
min-height: 44px; /* iOS 建議最小觸控面積 */
|
||
padding: 8px 4px;
|
||
margin: 2px;
|
||
}
|
||
|
||
.close-button {
|
||
min-width: 44px;
|
||
min-height: 44px;
|
||
}
|
||
}
|
||
```
|
||
|
||
## 6. 無障礙設計 (A11y)
|
||
|
||
### 6.1 鍵盤導航
|
||
|
||
```
|
||
Tab 鍵順序:
|
||
1. 輸入模式選擇
|
||
2. 文字輸入框
|
||
3. 分析按鈕
|
||
4. 可點擊單字 (依序)
|
||
5. 彈窗內元素
|
||
6. 關閉按鈕
|
||
```
|
||
|
||
### 6.2 螢幕閱讀器支援
|
||
|
||
```html
|
||
<!-- 語義化 HTML -->
|
||
<main role="main" aria-label="互動式單字查詢">
|
||
<section aria-label="句子輸入區">
|
||
<input
|
||
aria-label="輸入英文句子,最多300字元"
|
||
aria-describedby="char-count"
|
||
/>
|
||
<div id="char-count" aria-live="polite">目前:0 字元</div>
|
||
</section>
|
||
|
||
<section aria-label="分析結果區">
|
||
<div role="button"
|
||
tabindex="0"
|
||
aria-label="單字:brought,點擊查看詳細資訊"
|
||
data-word="brought">
|
||
brought
|
||
</div>
|
||
</section>
|
||
</main>
|
||
|
||
<!-- 彈窗 -->
|
||
<dialog role="dialog"
|
||
aria-labelledby="word-title"
|
||
aria-describedby="word-definition">
|
||
<h2 id="word-title">brought</h2>
|
||
<p id="word-definition">Past tense of bring...</p>
|
||
</dialog>
|
||
```
|
||
|
||
### 6.3 色彩對比
|
||
|
||
```css
|
||
/* 符合 WCAG AA 標準 */
|
||
:root {
|
||
--text-primary: #1a1a1a; /* 對比度 13.26:1 */
|
||
--text-secondary: #4a4a4a; /* 對比度 8.59:1 */
|
||
--border-focus: #0066cc; /* 高對比度焦點邊框 */
|
||
--bg-phrase: #fff4cc; /* 片語背景 */
|
||
--bg-phrase-text: #8b4513; /* 片語文字 */
|
||
}
|
||
|
||
.clickable-word:focus {
|
||
outline: 2px solid var(--border-focus);
|
||
outline-offset: 2px;
|
||
}
|
||
```
|
||
|
||
這份 UI 線框圖設計涵蓋了完整的用戶介面規劃,包括主要頁面、互動流程、響應式適配和無障礙設計,為開發團隊提供了詳細的實現指南。 |