diff --git a/apps/webapp/app/components/code/TSQLResultsTable.tsx b/apps/webapp/app/components/code/TSQLResultsTable.tsx index c1a627b8db8..c3ad0ccdf0e 100644 --- a/apps/webapp/app/components/code/TSQLResultsTable.tsx +++ b/apps/webapp/app/components/code/TSQLResultsTable.tsx @@ -927,6 +927,8 @@ function HeaderCellContent({ const sortHighlighted = isCellHovered && !isFilterHovered; + /* oxlint-disable jsx-a11y/click-events-have-key-events -- The sortable header contains separate tooltip and filter controls that cannot be nested in a button. */ + /* oxlint-disable jsx-a11y/no-static-element-interactions -- Preserve the existing full-header pointer target rather than nesting its child controls. */ return (
{children} - + event.stopPropagation()}> {children} )} - {/* Sort indicator */} + {/* The full header remains a pointer target, while this dedicated control makes sorting keyboard-accessible without nesting the tooltip or filter controls. */} {canSort && ( - { + event.stopPropagation(); + onSortClick?.(event); + }} className={cn( - "shrink-0 transition-colors", + "shrink-0 rounded transition-colors focus-custom", sortHighlighted ? "text-text-bright" : "text-text-dimmed" )} > @@ -973,7 +981,7 @@ function HeaderCellContent({ ) : ( )} - + )} {onFilterClick && ( ); })}