Adoption agency in foster parented content

Consider the document:

<!DOCTYPE html>
<table border> <b><p>a</b> <td> b

(<http://philip.html5.org/misc/fostered-adoption-3.html>)

In all browsers (IE6, FF2, Safari 3, Opera 9.2, Links 2.1), the "a" is 
rendered outside the table.

HTML5 instead produces something a bit like

|   <body>
|     <b>
|     <table>
|       <p>
|         <b>
|           "a"
|       <tbody>
|         <tr>
|           <td>
|             "b"

because the adoption agency algorithm runs with common ancestor = 
<table>, and step 8 inserts the last node (<p>) into the common 
ancestor. That is bad since it puts the "a" inside the table.

Ideally the output would be a bit like

|   <body>
|     <b>
|     <p>
|       <b>
|         "a"
|     <table>
|       <tbody>
|         <tr>
|           <td>
|             "b"

though I don't have any suggestions as to how to make it work like that.

-- 
Philip Taylor
pjt47@cam.ac.uk

Received on Monday, 11 February 2008 13:48:29 UTC