Skip to content

Keyboard users cannot open links in rendered markdown #842

Description

@alexeyzimarev

Since #834 the desktop app renders markdown through MarkView.Avalonia, whose links are inline MarkdownHyperlink spans inside a text block rather than focusable controls. MarkdownView forwards the viewer's pointer-driven LinkClicked event to the tab's open-link command, and that is the only activation path: Tab never reaches a link, and Enter or Space activates nothing. This affects chat messages (assistant and user turns, system notes) and the pull request reader's description and comment bodies.

The previous renderer represented allowed links as HyperlinkButtons, which were focusable and pinned by a keyboard-activation test, at the cost of a baseline-alignment workaround to keep a button inside the line.

Accepted as a known gap when #834 was reviewed. Candidate fixes, each its own design:

  • Cycle links with the arrow keys when the viewer has focus and open the current one on Enter, drawing a focus ring on the hyperlink's text bounds.
  • Render allowed links as focusable inline controls again, bringing back the in-line baseline handling.

Whichever path is taken, the link policy must stay where it is: a link exists only where LinkPolicy would open it, and activation goes through the tab's command, never a self-navigating control.

Activity

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions