if a person is from Haiti or Jamaica or Trinidad..etc. you can't call them African American. you also aren't going to go up to every person and ask them what's your heritage. if your white your in a lose lose situation.
Some people don't like being called "black" and others don't mind. Some people actually prefer the term "black" over African-American, but with some it's the other way around. It depends on the person and situation.