INNER CODE UNIT · TypeScript
sameRow
hyscaler/HyCanvas · packages/a11y/src/index.ts:126
const sameRow = !above && Math.abs(next.cy - prev.cy) < 8;
const behind = sameRow && (rtl ? next.cx > prev.cx : next.cx < prev.cx);
if (above || behind) backward++;
}
if (backward >= 2 && backward / (ordered.length - 1) > 0.34) {
issues.push({
nodeId: page.id,
nodeName: page.name,
pageIndex,
kind: "reading-order",
severity: "warning",
message: `Reading order jumps against the layout ${backward} times. Reorder it in the Reading Order pane so screen readers follow the visual flow.`,
messageCode: "a11y.reading_order_jumps",
messageParams: { count: backward },
});
}
});
doc.pages.forEach((page, pageIndex) => {