How it works
A small pattern with visible decisions
A caption names the table, column headers describe each kind of value, and row headers identify every route. Those relationships remain available to screen readers because the markup uses real table elements and explicit scope attributes.
The wrapper scrolls horizontally when the table needs more room. Giving that region a label and keyboard focus makes the overflow reachable without compressing the data into unreadable columns.