feat(site,skill): 모바일 앱 수준 UX — 바텀내비·백 키 히스토리·바텀 시트·safe area·PWA 와 L6 시나리오 E2E
- HIG(탭바 5~6·시트)·M3(바텀내비 3~5·48dp)·NN/g·CSS-Tricks 조사(research/mobile-app-ux-v1.md) 후 Nielsen 10 감사로 위반 도출 - 바텀 내비 5탭 + 더보기 바텀 시트(그룹 헤더), 뷰·다이얼로그 pushState/popstate — 안드로이드 백 키가 앱 내 뒤로 작동 - safe area(env+max)·입력 16px(iOS 확대 방지)·coarse 44px 타깃·tap-highlight·overscroll 위생, 인쇄에서 모바일 크롬 제거 - PWA: manifest + sharp 생성 아이콘(가온=장부 문항, 두레=시간표 블록) - tools/e2e.mjs L6 시나리오: RED 1,742 단언 318 실패 → GREEN 1,762/0, verify 체인 7계층 통과 - 실기기(안드로이드 에뮬레이터·Chrome) 텍스트 근거 검증 — 백 키·시트·탭 전환, iOS 는 WebKit(L4) 대체 - 스킬 내재화: mobile-app-ux.md, audit-gate 7계층·하니스 12~14, design-gate 터치타깃 검사, SKILL.md 규칙 7 - 도그푸드: 게이트가 죽은 선택자 8종·thresholds 병합 버그 적발 — CSS v22(양앱) 범프 후 전체 재검증
This commit is contained in:
parent
72337b7ee0
commit
14cb138e1a
133 changed files with 2139 additions and 208 deletions
|
|
@ -96,6 +96,7 @@ await page.keyboard.press("Enter");
|
|||
await page.waitForSelector("#as-dialog[open]");
|
||||
const inputs = await page.$$("#as-dialog input.score");
|
||||
if (inputs.length) {
|
||||
await inputs[0].evaluate((el) => { el.value = ""; }); // number 입력은 선택-덮어쓰기가 안 된다 — 비우고 타이핑
|
||||
await inputs[0].type("88");
|
||||
await page.evaluate(() => document.getElementById("as-save").focus());
|
||||
await page.keyboard.press("Enter");
|
||||
|
|
@ -103,7 +104,8 @@ if (inputs.length) {
|
|||
const st = await page.evaluate(() => document.querySelector('#as-table [data-assign="a2"]').closest("tr").querySelector(".state").textContent);
|
||||
await page.keyboard.press("Escape");
|
||||
await sleep(150);
|
||||
pass("차터: 키보드 채점 완주", st);
|
||||
if (st === "채점 완료") pass("차터: 키보드 채점 완주", st);
|
||||
else fail("차터: 키보드 채점 완주", st);
|
||||
} else {
|
||||
// 모달 내 입력 구조 다름 — 상태만
|
||||
pass("차터: 채점 모달 구조", "입력 없음 — 수동 확인 필요");
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue