Section 6.1 is currently printed between section 3 and 4. This should be corrected.
IMO the following structural changes should be undertaken, too:
Section 4.6 should also be moved into section 6 (maybe as 6.2), since it makes use of the data structure defined in 6.1.
Also, from a logical viewpoint, section 6 should come before section 5 which explains how to populate the attributes of a HTMLPropertiesCollection.