That behavior has changed a lot in the past decade. Apple actually documents their roaming thresholds.
The signal has to drop below -70dbm for ios and -75 dbm for macos for the devices to consider roaming. Additionally, the difference between the two AP has to be 8db for ios and 12 db for macos.
IMHO, these are good defaults. Apple devices are optimizing for stability over the “best” possible signal.
What you might consider awful signal difference between the two APs might not be. (e.g. a mac device at -75dbm need to find another AP with -63dbm or better.)
The signal has to drop below -70dbm for ios and -75 dbm for macos for the devices to consider roaming. Additionally, the difference between the two AP has to be 8db for ios and 12 db for macos.
https://support.apple.com/guide/deployment/wi-fi-roaming-sup...
IMHO, these are good defaults. Apple devices are optimizing for stability over the “best” possible signal.
What you might consider awful signal difference between the two APs might not be. (e.g. a mac device at -75dbm need to find another AP with -63dbm or better.)