It's not a bug.
--- It's a feature... ;-)
test/[ uses -a and -o for `and' and `or'; the conditional command uses && and || for that purpose. This is they way it's documented.
--- Would it be inappropriate if "[[" were to treat "-a" && "-o" identically to "&&" -a "||" so "[[" could be more of a drop-in replacement for "/bin/[" ? I can understand /bin/test not parsing "&&" and "||" as they'd have to be specially quoted anyway, but don't see any harm in the built-in "[[" being 'slightly' more compatible with it's non-builtin.