I am beginning to come around on this, but let me ask you this… does calling
focus() on an element actually imply that focus will be received by said element or is it just a request. I think the answer to that question dictates whether or not Async is needed for calls like
backward(). If there is a garauntee of focus getting received, then sure, async might be in order. But if it’s more of just a request, then sync is fine.
Also, another thought, but what happens if you call
focus() a second time while waiting for the first
focus() to resolve? If the resolve condition of focus is the focus event and that never occurs, how would we know?