| This is quite good, so as a fellow frontend person I'll give some deeper notes, including accessibility. 1. There is perceptible lag when sorting. 2. Sortable headers are interactive yet are `div` elements: they can't be focused or used by screen readers. Instead, change them to `<button type="button>` elements and ensure `:focus` styles look OK. 3. When the table's sorted, consider applying an `aria-sort` attribute to the `th`. This informs a screen reader what order things are in. 4. As a sibling mentioned, consider text-aligning numbers to the right. It makes visual comparison of numbers with differing digit counts easier (with a similar aim, some pair this with, `font-variant-numeric: tabular-nums`) 5. On my small phone, the two stickied columns take up 50% of the screen. May not be worth the squeeze (perhaps just sticky the rank at tiny viewports?). 6. Also on my small phone, the horizontal shadows occlude all the content, making it hard to read. 7. I don't personally love the "click to select a row" feature. I double click to select text as I read it, or to copy, and that distractingly toggles the color on and off. Perhaps this makes more sense when there are actions that can be performed on a selected row? 8. Speaking of, clicking the rank cells do not select the row. For an example on the a11y work, I'd recommend checking out WAI-ARIA's Sortable Table: https://www.w3.org/WAI/ARIA/apg/patterns/table/examples/sort... These are pretty small asides; kudos overall. |