diff --git a/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx b/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx index 917abb929a..d106e42a84 100644 --- a/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx +++ b/superset-frontend/plugins/plugin-chart-table/src/TableChart.tsx @@ -71,6 +71,12 @@ interface TableSize { height: number; } +const ACTION_KEYS = { + enter: 'Enter', + spacebar: 'Spacebar', + space: ' ', +}; + /** * Return sortType based on data type */ @@ -591,6 +597,13 @@ export default function TableChart( ...sharedStyle, ...style, }} + tabIndex={0} + onKeyDown={(e: React.KeyboardEvent) => { + // programatically sort column on keypress + if (Object.values(ACTION_KEYS).includes(e.key)) { + col.toggleSortBy(); + } + }} onClick={onClick} data-column-name={col.id} {...(allowRearrangeColumns && {