--- bc-version: [all] domain: ui keywords: [grid, fixed, data-table, heuristic, show-caption, accessibility] technologies: [al] countries: [w1] application-area: [all] --- # Grid and fixed-layout data-table heuristic ## Description Business Central renders `grid()` and `fixed()` layouts in two modes. The mode is chosen automatically by a client heuristic. A grid renders as a **data table** (HTML `` with row/column semantics) only when **all** of the following are true: - All direct children of the grid/fixed are groups (no loose fields). - Every child of every group is a field (no nested groups or other controls). - All fields have `ShowCaption = false`. The heuristic checks field captions only — group `ShowCaption` is not part of the check. A group with a visible caption inside a data-table grid does **not** break the heuristic and is not a violation. However, groups in a data table should also have `ShowCaption = false` for correct visual presentation. Any grid or fixed layout that does not meet all three conditions renders as a layout table (visual column arrangement, no table semantics). ## Best Practice If you intend a grid or fixed layout to render as a data table, satisfy all three conditions and verify the resulting markup matches your intent. If you do not need tabular semantics, prefer simple groups over grid or fixed layouts — they reflow better and produce correct semantic markup automatically. See sample: `grid-data-table-heuristic.good.al`.