This issue has nothing to do with the browser per se. It will also happen if you connect to the AP and then try to use SSH or other network protocols. It also has nothing specific to do with Firefox because Chromium and any other tabs based browser also has this same problem.
It would be nice if I could flag certain SSID's as needing explicit acceptance. Then when the network manager connects to an AP that is flagged as needing acceptence it runs a simple test and if it fails, then it either displays this new status (see comment here: http://brainstorm.ubuntu.com/idea/29306/),
triggers a notification, or pops up its own browser based dialog for you to deal with the issue (click on the EULA, put in your credit card number, enter your hotel room, etc.)
I'm not saying I know how to implement this, I'm just saying that it should happen right after the network manager connects....before you even get the chance to fire up the browser.