#320 후속. 당장 깨지진 않지만 자동완성 체감 품질을 낮추는 항목들.
결함 3건(#321)과 달리 각각 독립적이라 나눠서 처리해도 된다.
④ 어절 중간으로는 검색되지 않는다
apps/web/src/utils/getArtistAlias.ts:58 의 필터가 라벨 전체 접두만 본다.
"미세스" -> 미세스 그린 애플 ✅
"그린 애플" -> (없음) ❌
한 명의 이름이 여러 어절인 경우("미세스 그린 애플", "라르크 앙 시엘",
전사된 일본 아티스트 대부분의 "성 이름")에 두 번째 어절로는 못 찾는다.
어절 단위 접두 매칭(공백으로 쪼갠 각 토큰의 시작을 비교)이면 해결된다.
includes 는 관련 없는 후보를 끌어오므로 쓰지 않는다.
⑤ 키보드로 후보를 고를 수 없다
apps/web/src/app/search/SearchAutocomplete.tsx
- ↑/↓ 로 후보 이동 불가 — 엔터는 항상 입력 원문으로 검색된다
role="listbox" / role="option" / aria-expanded / aria-activedescendant 없음
- 현재 마우스 클릭 전용이라 키보드·스크린리더 사용자는 자동완성을 쓸 수 없다
입력창(HomePage.tsx:314 부근)의 onKeyUp 엔터 처리와 함께 봐야 한다 —
목록이 열려 있고 활성 후보가 있으면 엔터는 그 후보를 선택해야 한다.
⑥ 후보를 정렬 없이 사전 등록 순서로 자른다
apps/web/src/utils/getArtistAlias.ts:63 의 .slice(0, 10) 이 잘라내는 기준이
artistAlias 객체의 선언 순서다. 입력과의 관련도와 무관하다.
제안 정렬: 정확 일치 → 라벨 길이 짧은 순 → 공식 명칭 우선.
#321 ③(중복 제거)에서 "어떤 라벨을 남길지" 판단에도 이 순서를 쓴다.
작업 체크리스트
참고
#320 후속. 당장 깨지진 않지만 자동완성 체감 품질을 낮추는 항목들.
결함 3건(#321)과 달리 각각 독립적이라 나눠서 처리해도 된다.
④ 어절 중간으로는 검색되지 않는다
apps/web/src/utils/getArtistAlias.ts:58의 필터가 라벨 전체 접두만 본다.한 명의 이름이 여러 어절인 경우("미세스 그린 애플", "라르크 앙 시엘",
전사된 일본 아티스트 대부분의 "성 이름")에 두 번째 어절로는 못 찾는다.
어절 단위 접두 매칭(공백으로 쪼갠 각 토큰의 시작을 비교)이면 해결된다.
includes는 관련 없는 후보를 끌어오므로 쓰지 않는다.⑤ 키보드로 후보를 고를 수 없다
apps/web/src/app/search/SearchAutocomplete.tsxrole="listbox"/role="option"/aria-expanded/aria-activedescendant없음입력창(
HomePage.tsx:314부근)의onKeyUp엔터 처리와 함께 봐야 한다 —목록이 열려 있고 활성 후보가 있으면 엔터는 그 후보를 선택해야 한다.
⑥ 후보를 정렬 없이 사전 등록 순서로 자른다
apps/web/src/utils/getArtistAlias.ts:63의.slice(0, 10)이 잘라내는 기준이artistAlias객체의 선언 순서다. 입력과의 관련도와 무관하다.제안 정렬: 정확 일치 → 라벨 길이 짧은 순 → 공식 명칭 우선.
#321 ③(중복 제거)에서 "어떤 라벨을 남길지" 판단에도 이 순서를 쓴다.
작업 체크리스트
참고
fix/320-autoCompleteMatching), 검색 자동완성 후속 — 제목 탭 오작동·클릭 미검색·중복 후보 #321artistAlias71명 →/api/artists/search13,869명)은 검색 자동완성 별칭 치환·초성 매칭 오작동 수정 #320 본문에 기재