However, requiring mixed case and special characters? If you give that up you drastically reduce the difficulty of dictionary attacks. You double the size of the required table by using mixed case, triple it with special characters.
Nope. Most people, when they are "required" to use mixed case and special characters, do it in a way that can be easily brute forced with only a handful of extra attempts (1 = !, at = @, O = 0, etc.). The parts that preserve the difficulty of brute force are:
Web site have been having it both ways for years: they have been telling us to make harder password, while simultaneously making it harder for us to do so. In some cases, passwords were truncated or forced to lower case before being hashes, making them much much weaker than it seemed they were. And then when a password is compromised, the user is blamed.
Don't mix up the actual strength if voluntarily using complex passwords with the perceived strength of forcing someone else to do so.