Skip to content

[Accessibility]: Viewer global shortcuts should ignore IME composition #912

Closed

Description

@outlier27-cell

Problem

The Viewer-wide keyboard shortcut handler does not inspect KeyboardEvent.isComposing. While an IME composition is active, composition confirmation can surface keys such as /, ?, s, e, +, or Escape; the Viewer may open Finder/help, change the preset/theme, export, zoom, or dismiss state instead of leaving the composition to the input method.

Scope

This is distinct from #902, which protects the Finder panel's local Enter/Escape behavior. This issue covers document-level Viewer shortcuts before they dispatch to any feature.

Expected

During IME composition, document-level Viewer shortcuts perform no action and do not prevent the key's default behavior. Ordinary shortcuts retain their existing behavior.

I will add a real-browser regression that dispatches composing shortcut keys and confirms the Viewer state remains unchanged.

Activity

  1. outlier27-cell commented on Oct 13, 2026

    @outlier27-cell
    ContributorAuthor

    I reproduced the missing document-level composition boundary and will submit a focused Viewer fix with browser coverage.

  2. BlueboxC commented on Oct 14, 2026

    @BlueboxC

    Applied and verified outlier27-cell's #913 in our 3.1.0 fork: commit.

    Global shortcuts now return before changing Viewer state when isComposing is true or keyCode is 229. Capture-phase chapter/selection handlers and local panels use the same composition boundary, preventing an earlier listener from consuming the key first.

    The real-Chrome regression dispatches the shortcut set, including slash, help, theme, preset, export, presentation, Radar, Lens, Route, zoom and chapter controls, and verifies that composition does not prevent default or open panels. Ordinary shortcuts remain covered by the maintained browser suite. Installed-package checks pass; this does not certify a physical IME or Safari.

    BlueboxC

  3. tt-a1i commented on Oct 25, 2026

    @tt-a1i
    Owner

    Completed on dev through #1093, integrated by #1102 at commit 10b4dd5. Original contribution history is retained.

    Viewer-wide shortcuts preserve IME composition without preventing default or changing Viewer state.

    The exact integrated candidate 98efbfc passed CI run 40177166414: 19 successful jobs, no failures, two deployment-only skips. Closing as completed in the development branch; this does not announce a release or a live installation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions