The fostered error is triggered when some content is in a table structure but not where it can be visible. Specifically, content in tables can only be present in table cells, table headings, and captions.
Content inserted elsewhere gets moved before the table (content adopted by a foster parent, hence "fostering"). See example below.
The example above shows screenshots from a page on the English Wikipedia. On the left that shows wikitext markup, you see the bold header inside the table after a table row (
|-) but outside a table cell (
|). On the right that shows the rendering in a browser, you see that the header actually shows up before the table rather than inside it. In this example, it is clear that the intent of the author is for the heading to be outside the table. So, the markup should be fixed to move the heading markup outside the table as well.
In other examples, where the missing table cell markup (or heading or caption) is missing, it should be fixed by adding
|+ markup before it as appropriate.
The HTML5 spec calls this fostered content because the header is moved outside the table and is "adopted" by a different HTML element (its "foster parent").