How far should tabs _sanitizeSelector go?

How far should tabs _sanitizeSelector go?

Currently the tabs _sanitizeSelector only escapes the colon. #4681 brings up the point that the period is also a valid character for and id attribute.

With html5 just about anything other than a space character is a valid.

Should we be extra protective and try to  escape anything that would cause a problem?  Something like:
  1. hash.replace( /([;&,.+*~`\':"!^$[\]()=>{}|\/@])/g, "\\$1" );