Ma niece est blonde. My niece is blond-haired.
The answer says not blond-haired , but fair-haired ! Why blond-haired is not correct?
'Blond-haired' actually sounds a little odd, because the only other thing that ever gets called blond in English is beer. It is close to being a pleonasm.
As iVixey says, 'my niece is blond' is fine (blonde also OK). I am not sure that it should be marked as incorrect, but for your purposes, just use 'my niece is blond'.