Should we go all the way to `"\\[" + whitespace + "*name" + whitespace + "*[*^$|~]?="`? The rest of the broken selector detection has been pretty liberal, and I'm ok with that:
* [boolean/value attributes](https://github.com/gibson042/sizzle/blob/250afa5ae60b4e73f0c1a8b51c3c017982e36c67/src/sizzle.js#L628)
* [post-comma fake pseudos](https://github.com/gibson042/sizzle/blob/250afa5ae60b4e73f0c1a8b51c3c017982e36c67/src/sizzle.js#L660)
* [!=](https://github.com/gibson042/sizzle/blob/250afa5ae60b4e73f0c1a8b51c3c017982e36c67/src/sizzle.js#L677)