Hales will get a go in South Africa - there's no way Ali can consistently open and be the top spinner. You have to give credit to Bayliss and Farbrace for a bit of lateral thinking. We're not criticising them for selecting more bowlers in the UAE, it's precisely the same principle - horses for courses.
Ideally we would have two openers who can play all conditions well, but we don't. I want Hales to play and succeed as much as the next man, but for whatever reason he hasn't been selected previously and, probably based on a lot more than any of us have seen of him against spin bowling, they're going with Moeen and I'll bet, given the workload Moeen will have, they really don't fancy Hales in this series.
Buttler, I don't know. Bairstow is in better form with the bat, I don't know whether he's a better keeper. I guess they have invested in this young side and acknowledged publicly months ago that there will be ups and downs in all player's development. If you start dropping players you've invested in and gained trust from, do we get the same situation as we have with openers, in that players think they have 1-2 series if they don't perform? That can only lead to added pressure for young players at the start of their test careers. Bigger picture, I'd take a couple of series of under performing (and that's all it is with Buttler) for him to come out stronger. For Buttler and Stokes to consistently perform in all areas at their age is a big ask - I say stick with them. We don't want to get back to the 90s where you had a bad session and were dropped.
Lyth kept making the same mistakes, Robson had a clear technical flaw, Compton spat his dummy about the coaches (rightly or wrongly, don't do it in public...). But I think in Buttler we all acknowledge he's a potential world beater - Gilchrist-like. I wouldn't want to start messing with his head too much at the start of his career.