If a spec defines a fully working part, and you go off and tackle the complexity by designing your own part that turns out to be non-compliant, then the blame is on the spec?
I could see making a mistake like this. The earlier USB specs called for goofy things like grounding the shield to the enclosure entrance via parallel RC networks instead of bonding it properly, as well as adding various bypass capacitors to the data lines(!). These guidelines were poorly thought out, widely misinterpreted and even more widely ignored. They have conditioned engineers to make their own judgment calls in areas where they really should have been both more descriptive and more prescriptive, so maybe this is one of those cases.
I haven't looked at the post-USB 2 specs at all but wouldn't be surprised if they are nowhere near as clear, unambiguous, and well-thought-out as people here are saying.