1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-08-01 16:39:30 +02:00

Grid accessibility: incorrect focus can be read

Problem: this affects NVDA and Narrator, but not Jaws. If a user moves to the Delete button and presses it to delete a label, a label is incorrectly read as the new focus - the focus remains on the Delete button.
GridAx::SetCurrentCell() can be called when the Grid is not the focus, and send a focus event.

Fix: In GridAx::SetCurrentCell() only send an focus event if the Grid is the focus.
This commit is contained in:
David Bailes 2019-05-17 11:06:49 +01:00
parent be55d891db
commit ca13f08ff8

View File

@ -739,10 +739,12 @@ void GridAx::SetCurrentCell(int row, int col)
mLastId); mLastId);
} }
NotifyEvent(wxACC_EVENT_OBJECT_FOCUS, if (mGrid == wxWindow::FindFocus()) {
mGrid->GetGridWindow(), NotifyEvent(wxACC_EVENT_OBJECT_FOCUS,
wxOBJID_CLIENT, mGrid->GetGridWindow(),
id); wxOBJID_CLIENT,
id);
}
NotifyEvent(wxACC_EVENT_OBJECT_SELECTION, NotifyEvent(wxACC_EVENT_OBJECT_SELECTION,
mGrid->GetGridWindow(), mGrid->GetGridWindow(),