That doesn't mean you can't write accessible web applications without semantic HTML, but it does mean you have to spend time adding the accessibility after the fact.
* Set the correct aria attributes and roles for assistive technologies.
* Make the correct elements focusable, and order the focus correctly between elements, and add a specific style when then element is in focus.
* Capture the focus when appropriate but still allow focus to the URL bar.
* Set the correct key event handlers for keyboard navigation, submit events and triggers, validation events, etc. for assistive technologies, etc.
* Be prepared to warn users that your site will not work without javascript or in reader modes or in text based browsers, as well as make your site somewhat inaccessible for bots and crawlers.
And I’m sure I’m forgetting something. Point is, it is possible, but really hard.