<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quick/accessible/qaccessiblequicktableview.cpp, branch dev</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>TableView: follow the current cell with accessibility focus</title>
<updated>2026-09-30T00:35:17+00:00</updated>
<author>
<name>Lorn Potter</name>
<email>lorn.potter@qt.io</email>
</author>
<published>2026-09-15T02:54:08+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=317d2e1bbba8eeb88b8a4bfdc3c5d368f015336e'/>
<id>317d2e1bbba8eeb88b8a4bfdc3c5d368f015336e</id>
<content type='text'>
Keyboard navigation moves the current cell of a TableView, but screen
readers did not follow it. TableView is not an accessible item, and its
cell delegates do not take focus while navigating (only the edit
delegate does, while editing), so assistive technology never saw a
focus event.

Send a focus event for the delegate of the current cell while the view
has active focus, also when that delegate is only loaded after the
current index changed, and again when an edit ends and focus returns to
the view. Add QAccessibleQuickTableView, whose focusChild()
returns that same delegate, for platforms such as macOS that ask the
window for the focused element rather than act on the event.

Name the Basic TableViewDelegate after the display role and ignore its
Label, so a cell is read neither as empty text nor twice.

This patch and its commit message were developed together with Claude

Change-Id: Id42e994ad470abe8d4b0af4a7cc8e4c5611677e7
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Keyboard navigation moves the current cell of a TableView, but screen
readers did not follow it. TableView is not an accessible item, and its
cell delegates do not take focus while navigating (only the edit
delegate does, while editing), so assistive technology never saw a
focus event.

Send a focus event for the delegate of the current cell while the view
has active focus, also when that delegate is only loaded after the
current index changed, and again when an edit ends and focus returns to
the view. Add QAccessibleQuickTableView, whose focusChild()
returns that same delegate, for platforms such as macOS that ask the
window for the focused element rather than act on the event.

Name the Basic TableViewDelegate after the display role and ignore its
Label, so a cell is read neither as empty text nor twice.

This patch and its commit message were developed together with Claude

Change-Id: Id42e994ad470abe8d4b0af4a7cc8e4c5611677e7
Reviewed-by: Richard Moe Gustavsen &lt;richard.gustavsen@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
