我創建了一個使用jQuery來重畫上一個按鍵圖表小提琴:
http://jsfiddle.net/mVYeL/
下面是相關代碼:
google.load('visualization', '1.1', {
'packages': ['table']
});
google.setOnLoadCallback(drawStuff);
var table;
var data;
var options = {sortAscending:true};
function sortTable(col) {
if (options.sortColumn == col) {
options.sortAscending = !options.sortAscending;
} else {
options.sortAscending = true;
}
options.sortColumn = col;
table.draw(data, options);
}
$(document).keydown(function(e){
if (e.keyCode==49) { sortTable(0); }
if (e.keyCode==50) { sortTable(1); }
if (e.keyCode==51) { sortTable(2); }
});
function drawStuff() {
data = new google.visualization.DataTable();
data.addColumn('string', 'Name');
data.addColumn('number', 'Salary');
data.addColumn('boolean', 'Full Time Employee');
data.addRows([
['Mike', {v: 10000, f: '$10,000'}, true],
['Jim', {v:8000, f: '$8,000'}, false],
['Alice', {v: 12500, f: '$12,500'}, true],
['Bob', {v: 7000, f: '$7,000'}, true]
]);
// Instantiate and draw our chart, passing in some options.
table = new google.visualization.Table(document.getElementById('chart_div'));
table.draw(data, options);
};
這是一個良好的開端。我會建議改變'keydown'聽輸入,找出表和列,設置一個標誌,對列的ASC進行排序。然後你可以取消設置DESC的標誌。此外,大多數輔助技術使用1-6導航H1-H6,所以要麼這不起作用,要麼將焦點移到其他地方 –
Ryan絕對是正確的 - 屏幕閱讀器已經分配了1-3個用戶和用戶將期望使用Enter按鈕來觸發一個焦點元素。儘管如此,傑里米的原始評論給了我一個粗略的草圖來解決這個問題,瑞恩提供了一個很好的路線圖來實現它,所以謝謝你們。一旦我有一個工作片段,我將添加它作爲未來參考的評論。 –