wxWidge中的wxGrid无法在屏幕阅读器中访问

时间:2015-04-20 15:26:32

标签: c++ user-interface accessibility wxwidgets screen-readers

考虑:

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键并使用箭头键导航时,它不会读取其中的任何列或行。我该怎么做才能让JAWS和其他屏幕阅读器访问wsGrid?

1 个答案:

答案 0 :(得分:1)

不幸的是,这不是一项微不足道的任务。您需要更改wxGridWindow以从wxWindowAccessible派生并实现其虚拟方法,以使其在Windows下运行。目前,wxWidgets中的其他平台根本没有可访问性支持。