Skip to content

Windows UI redesign: Preserve context-aware shortcuts and accessible focus #128

Open

Description

@chammoru

한국어 — 입력 맥락에 맞는 단축키와 접근 가능한 포커스 유지

화면 시안

입력 맥락에 맞는 단축키와 접근 가능한 포커스 유지 — Windows UI 제안

이미지를 클릭하면 크게 볼 수 있습니다. 순서도나 구현된 Windows 앱 스크린샷이 아닌 UI 화면 제안입니다. 이미지는 합성이고 수치는 설명용 예시입니다. 주변 조작 요소는 전체 계획의 맥락이며 이번 작업에서는 아래 범위만 구현합니다. 현재 빌드의 실제 변경 전·후 화면이라는 뜻이 아닙니다.

이번 작업의 목표

필요한 전역 명령을 사용할 수 있게 하되 텍스트·IME·대화상자·해당 조작 요소의 탐색 입력을 가로채지 않습니다.

작업 묶음: #113. 전체 설계와 반드시 유지할 기존 동작: #110.

선행 작업: #119, #121, #124, #125, #126, #127

이번에 변경할 것

  • 모달 창·팝업·텍스트·IME 입력을 먼저 처리한 뒤 해당 조작 요소, 마지막으로 전역 명령 순서로 전달합니다.

  • 논리적인 Tab 이동과 사용자 정의 UI의 UIA 이름·역할·값·선택·포커스·활성 상태를 제공합니다.

  • 마우스를 올리지 않아도 필수 명령을 찾을 수 있게 하고 Windows 기본 Alt/메뉴 동작을 유지합니다.

이번 작업에서 하지 않을 것

새 단축키, 가속키 전체 재작성, 렌더링, 폴더 스캔.

완료 조건

  • 편집 중이 아닐 때 E는 Browse를 한 번 전환하고 텍스트·IME 입력 중에는 e를 입력합니다.

  • 목록·그래프의 화살표 키는 해당 영역의 의미를 유지하고 대화상자의 키 입력도 보존됩니다.

  • UIA/내레이터로 포커스·선택·비활성을 식별할 수 있으며 픽셀 위 마우스 이동마다 과도하게 안내하지 않습니다.

먼저 함께 결정할 질문

포커스 표시가 명확한가요? 평소 작업에서 충돌하는 단축키가 있나요?

검토 상태: 논의 대기. 구현 전에 사용자가 합의한 선택과 수정된 시안을 이 이슈에 기록합니다. 다른 작업 검토, 목업 조작, 이슈 등록은 이 작업의 승인이 아닙니다. 다음 작업으로 자동 진행하지 않습니다.

구현·검증 규칙

Windows MFC Viewer/Comparator만 대상입니다. #110과 AGENTS.md를 따르고 최신 origin/master에서 해당 작업용 브랜치를 시작합니다. 관계없는 변경은 보존하고 기존 명령·렌더링 경로를 재사용합니다. 영향을 받는 실제 앱 작업 흐름을 검증하고 공통 코드 또는 릴리즈에 민감한 변경에는 관련 로컬 핵심 테스트·빌드를 실행합니다. 실패는 수정하고 해당 검사를 반복한 뒤 PR/커밋, 실제 증거와 한계를 기록합니다. 목업 검사는 실제 Windows 앱 검증이 아닙니다. 이 작업은 릴리즈 태그·Store 게시·버전 증가를 승인하지 않습니다.


English original — 영어 원문 펼치기

Proposed UI screen

Keyboard and focus — proposed Windows UI

Click the image for full-size details. This is a UI screen proposal, not a flowchart or a screenshot of an implemented native build. Images are synthetic and values are illustrative. Surrounding controls are roadmap context; implement only this job's changes below. This is not a literal before/after claim about the current build.

One job, one outcome

Allow global commands when applicable without stealing text, IME, dialog or local navigation input.

Coordination epic: #113. Overall design and unchanged behavior contracts: #110.

Prerequisites: #119, #121, #124, #125, #126, #127.

Changes in this job

  • Route modal/popup/text/IME contexts before local control handling and then global commands.

  • Provide logical Tab navigation and UIA name/role/value/selection/focus/enabled state for custom UI.

  • Keep essential actions visible without hover; preserve native Alt/menu behavior.

Explicitly outside this job

New shortcuts, wholesale accelerator rewrite, rendering or folder scanning.

Done when

  • E toggles Browse once outside editing but types e during text/IME entry.

  • List/graph arrows keep local meaning and dialogs keep their keys.

  • UIA/Narrator can identify focused/selected/disabled controls without announcing every pixel hover.

Discuss this screen first

Are focus cues clear, and are there any shortcut conflicts in your usual workflow?

Review status: awaiting discussion. Record the user's agreed choices and any revised picture before implementing this job. Reviewing another job, interacting with the mockup, or registering this issue does not approve this one. Do not automatically proceed to the next job.

Implementation and verification rules

Windows MFC Viewer/Comparator only. Follow #110 and AGENTS.md, start a focused branch from the current origin/master, preserve unrelated changes, and reuse existing command/rendering paths. Verify the affected native workflows and run the relevant local core tests/builds for shared or release-sensitive changes. Fix failures and repeat the affected checks; record PR/commit, actual evidence and limitations. Mockup checks are not native-app verification. This job does not authorize a release tag, Store publication or a version bump.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions