In our application, we have a case, where a page can have multiple non-modal popups. And I am working on making those popups keyboard accessible.
Without any accessibility addition: popups and focus-able elements inside are still accessible. If 5 popups open, first tabbing cycle goes through all elements on page itself and next cycle from page top, goes through pop-ups. Not nice but still accessible.
With few changes: So We decided to have popups focused when trigger/parent is clicked.This worked to some extent and created whole new set of problems.
Now parent clicked, popup opens and gets default focus and can tab into it. Similarly we can have many popups opened. Focus stays trapped inside popup and F6 is pressed to bring focus out and it goes to page top.
Problem with new changes: When on F6, focus again starts from page top and cycles through page elements and enters first opened popup.
1#: Should no enter popup on its own. Like some key press on parent (eg F6). But having tabindex on elements let it do that and can not change tabindex values.
2#: Focus enters first popup and trapped inside. F6 pressed ,it goes on page top and with tabbing, reaches back to first popup again. It never gets chance to enter other popups and keeps cycling between first popup and all other page elements. So having issue#1 fixed looks important to me.
3# Closing non-modal popup with KB should focus back to parent element which is not possible in my design.
Any accessibility experts here can suggest me true non-modal behavior.