Twine being a basic HTML page when compiled is already accessible, see this thread, with SugarCube being more ARIA-compliant than Harlowe.
This is because Harlowe and SugarCube have different ways of formatting their code. The SugarCube documentation has a chapter on some of the differences, but not all macros are easily transferable.
If you do run into some specific errors, please share the erroneous code with us and we can help find an alternative.
To change a project from one format to another, you will need to change it for the project, in Story → Details (see Screenshots) and edit the code from Harlowe to SugarCube.
(Twee is just another output format, think the difference between PDF and Word Document - unlike HTML it’s not playable, but useful when sharing code)
Headings can be done with the !
at the start of a new line, like ! This is a header
or with <h1>
(see this section in the SugarCube documentation).
Semantic tags (info) aren’t used by default, but you can include them yourself in passages or when creating your own interface from scratch with StoryInterface.