# Feature AA-197 - Add keyboard move and resize support for AI result popover

Project: Stream Agents & Assistants
Status: specified
URL: https://community.openproject.org/work_packages/AA-197

## Planning

| Attribute | Value |
| --- | --- |
| Date |  – 2026-10-30 |
| Priority | Medium |
| Target versions | 18.1.0 |
| List |  |
| Roadmap |  |
| Relevance |  |

## OPEN POINTS / FEEDBACK

_No work packages_

## Features and Chunks

_No work packages_

## Bugs and other work packages

_No work packages_

## Technical Details

| Attribute | Value |
| --- | --- |
| Module | Artificial Intelligence / AI text helper (AITH), Accessibility |
| Feature Flag |  |
| Requires doc change | No |
| Enterprise plan | Enterprise / Professional (PRO) |

## Details

| Attribute | Value |
| --- | --- |
| Pull preview |  |
| Mockups |  |

## People

| Attribute | Value |
| --- | --- |
| Assignee | Jonas Jabari |
| Accountable |  |
| Product manager | Dominic Bräunlein |
| Developers | Dominic Bräunlein |
| Designer |  |
| Ordered by |  |
| Signed off by |  |
| Interest by |  |

## Estimates and progress

| Attribute | Value |
| --- | --- |
| Work |  |
| Labor costs |  |

## Description

## Goal

Keyboard users can move and resize the floating AI result pane, so it never stays on top of the text it is transforming.

## Scope

*   Arrow keys on the focused pane header move the pane; Shift + arrow keys resize it (fixed steps, e.g. 16 px).
    
*   The same limits as pointer interaction: minimum 320 × 240, stays inside the viewport with an 8 px margin.
    
*   The new position and size are remembered like a dragged pane.
    
*   Screen-reader users learn how it works: header accessible description, and a live announcement of the result after a move or resize.
    
*   Optional, if UX prefers: a small Primer `ActionMenu` in the header (&quot;Move to top right / bottom right / bottom left / top left&quot;) instead of or in addition to the arrow keys.
    

## Acceptance criteria

*   The pane can be moved out of the way and resized without a pointer.
    
*   Keyboard and pointer interaction share the same clamping and geometry memory.
    
*   Arrow keys only act while the header has focus; text and buttons inside the pane keep their normal keyboard behaviour.
    
*   Primer components only; the resize handles may stay `aria-hidden`.
    
*   Vitest specs for move, resize, clamping and the announcement.
    

## Out of scope

Returning focus to the editor on close (AI-176); a generic floating panel component.
