考虑:

wxGrid* grid = new wxGrid(panel, -1, wxPoint( 0, 0 ), wxSize( 400, 300));
grid->CreateGrid( 5, 5);
grid->SetColLabelValue(0, _T("col0"));
grid->SetColLabelValue(1, _T("col1"));
grid->SetColLabelValue(2, _T("col2"));
grid->SetRowLabelValue(0, _T("ro0"));
grid->SetRowLabelValue(1, _T("ro1"));
grid->SetRowLabelValue(2, _T("ro2"));

当我运行项目时,屏幕阅读器JAWS似乎无法识别wxGrid,它仅显示“网格窗口”,但是在按下Tab键并使用箭头键导航时,它不会读取其中的任何列或行。我应该怎么做才能使wsGrid可以被JAWS和其他屏幕阅读器访问?

最佳答案

不幸的是,这不是一件容易的事。您将需要更改wxGridWindow以从wxWindowAccessible派生并实现其虚拟方法以使其在Windows下工作。当前,wxWidgets中的其他平台完全不提供可访问性支持。

08-19 19:18