Software stealing focus is an awful antipattern and I wish macOS would fix this crap. Even on iOS, which is otherwise good with this, will gladly interrupt whatever you’re doing to show you a fullscreen captive portal. Obnoxious, especially if you’re just walking by an open wifi you joined at some point in your life.
Because then the average user would say "I know I'm on Wi-Fi because Control Center says so, but nothing loads in {app that isn't a browser}". Or worse, "I joined a Wi-Fi network but my iPhone decided that it can't connect to the internet through that so now it's using my data plan instead without telling me[0]".
Windows and macOS pop up the default browser (or on macOS, a webview) with the captive portal when they detect one. iOS doesn't have windows, so if it wants to get the user to do the captive portal without them sitting there in confusion it has to pop it up. It could pop a notification, but if the user misses it (as one could, with all the notifications that come in these days), then they are stuck.
> iOS doesn't have windows, so if it wants to get the user to do the captive portal without them sitting there in confusion it has to pop it up.
It does, they're just normally fullscreen ones.
The point is that that captive portal windows persist in the app switcher, and they can't be splitscreened on an iPad. So if you need to look at your email or text messsages to find your user credentials or the login page is badly coded and doesn't pick up your password manager you're screwed. It's really, really annoying.
iOS made the mistake of conflating wifi with “internet”, it will even attempt to kick you off a wifi if it doesn’t have internet, but it will gladly show you the icon even before logging you into the captive portal.
The current situation is incredibly badly-engineered on so many levels. It’s maddening, really. One of the worst parts is that the modal disappears as soon as you attempt to switch apps (or god forbid you try to respond to a message you received)
Notification + real internet connectivity indicator + a regular Captive Portal/Internet App would go a long way.