Every point in an answer against the AI that wrote it and the two that reviewed it.
A real table with th scope="col" and scope="row", so a cell can be read as "this model, this point". A grid of divs would make the verdicts unreadable to anyone not seeing the layout - and the whole purpose of this component is to be checkable.
"Didn't comment" is a stated verdict, not a blank cell. Silence from a reviewer is information, and leaving the cell empty invites it to be read as agreement.
A row where anyone disagreed is marked on the row itself, so the disagreements are findable without reading every cell.
import { OpinionGrid } from '@redrob-labs/ui';
| Prop | Type | Notes |
|---|---|---|
columns |
OpinionColumn[] |
|
rows |
OpinionRow[] |
|
verdicts |
Record<string, { label: string; icon?: string }> |
Replace or extend the verdict vocabulary. |
pointLabel |
React.ReactNode |
|
caption |
React.ReactNode |
Names the table for a screen reader. Visually hidden. |
className |
string |