#Mathematica 83 80 68 54 bytes
Mathematica 83 80 68 54 bytes
#&@@@#<>""=="ab"&&Equal@@Length/@#&@*Split@*Characters
Thanks @MartinEnder for shortening it by 26 bytes :)
If input can be a list of characters instead of a string, 39 bytes is possible:
#&@@@#=={a,b}&&Equal@@Length/@#&@*Split
eg:
#&@@@#=={a,b}&&Equal@@Length/@#&@*Split@{a,b,a,b,a,b}
(*False*)