The strange case of ethnicity and nationality on the screen

I was thinking on my walk to university about how different modern screen actors are from those in my youth. Back then, any attempt at a different accent was fraught with difficulties. I have to confess to having a bit of a thing for Hayley Mills when I was about 11, but I found it hard to forgive her for her attempts at Yorkshire and American accents. And who can forget the 'delights' of Dick van Dyke's cockney? Yet now you never know if an actor is Australian, American or British - they all seem to do accents near-perfectly.

However, that is only indirectly the topic of this post. We rightly are now repelled by white actors 'blacking up' for non-white roles. Try watching Peter Sellers or Spike Milligan doing 'Indian', for instance. And I can totally understand the raised eyebrows when a white actor was recently cast as Michael Jackson. But why, I wonder, do we ignore other situations where actors pretend to be of a race or nationality that they aren't?

This is where we get back to those accents. Okay, modern actors mostly can do very good accents from different countries - but is it acceptable for them to do the equivalent of 'blacking up' in this way? There's an even stronger argument with red hair. As someone (formerly) with red hair, I'm well aware that it has ethnic origins. Yet actors with no appropriate ethnicity often dye their hair red in films. Is that acceptable?

Let's be clear. I'm not saying this as an apologist for white people playing black roles (or vice-versa). I don't think that's usually acceptable (there should surely be exceptions for parody etc.). But I genuinely ask, assuming that this isn't in the best possible taste, why it doesn't also apply to Americans playing Brits or brown-hairs playing redheads.