I don't think 'non-white' is acceptable, soon because it suggests that 'white' is the standard. It is a minefield and as bags says, the acceptable terms keep changing. A brief history: in the ignorant 1970s us teachers used to talk about EFL (English as a foreign language) and then it was pointed out that people resident in this country weren't foreigners so we started to say ESL (English as a second language). Then it was pointed out that many of the learners actually spoke several languages so that term devalued their heritage. So we started saying ESOL (English for speakers of other languages). Other terms have gone through similar processes but I won't go there because some of the obsolete words are now actually offensive. The really awful thing is that we are all, constantly, labelling and categorising other people to establish difference.