{% load i18n %} {% comment %} One child record, in whichever layout the group resolved to. Three invariants hold in both branches. The hidden fields — the primary key, and the InlineForeignKeyField tying the row to its parent — live INSIDE the row element, so pulling the row out of the DOM takes them with it and a half-removed row cannot post an orphan pk. The DELETE checkbox is a real, working control, so the page still adds up with no JavaScript at all; vantage-inlines.js hides it and reveals the button beside it. A removed row is HIDDEN rather than marked aria-hidden: an aria-hidden element that still contains focusable inputs is reachable by Tab and invisible to a screen reader at the same time, which is worse than either. Hiding it takes it out of both, and the undo strip that replaces it is what keeps the removal reversible. And every error renders in the cell that caused it. A tabular row is a
rather than a{{ cell.help_text }}
{% endif %} {% if cell.errors %}{{ cell.help_text }}
{% endif %} {% if cell.errors %}