WiFi actually can't do this. It's a shame, but fully network-directed roaming is not a thing in 802.11 yet, and I don't know when it's going to bother to show up.
The major protocol extensions you can use are 802.11k, 802.11r, and 802.11v. They have a compounding increase in roaming performance in roughly that level of significance.
802.11k is a pure win. It should always be used.
802.11r is hit or miss. When it works, roaming can take under 10ms. When it doesn't, you disassociate entirely and reconnect. I have an SSID with it enabled but never use it.
802.11v is a pure win, but not very well supported.
I use Cisco hardware specifically for this feature set, but I can't really say I recommend it. I kinda hate the controller software, and it's licensed separately. Cheap hardware on eBay though.