You can certainly use standard
<a> tags with matching
ids to create hyperlinks within an epub file, yes. The structure of the text could look like:
<p class="body">Here is a bunch of text with a footnote <a epub:type="noteref" href="notes.xhtml#note1" class="reference" id="ref1"></a></p>
With a matching note in a notes.xhtml file:
<aside epub:type="rearnote" class="note" id="note1">1: Here is the related endnote <a href="ch1.xhtml#ref1">[link back]</a></aside>
There are a few best practices to consider:
- Make sure to give a reciprocal link for endnotes--that is, once you can click on the number to go read the endnote, you'll need another link to bring you back to the text from the endnote
- In the index, it's very handy to have a series of links at the top for each alphabetic subsection, so that a reader can select "G" and go to the "G" section of the index. The "G" subheader can then be a link back to the top of the index.
- If you're using epub 3.0, you should definitely add
epub:type semantic markup for indices and foot/end notes. The details of that can be found in the Structural Semantics Vocabulary. These semantics enable reading systems to associate behaviors with certain kinds of content. This is what iBooks uses to generate popup footnotes, and if you've properly marked up your content, you're giving it the chance to get additional features with no more effort as reading systems design more functionality for that markup.
Indices can be pretty painful to create if the production files weren't tagged correctly at the time of creation; one quick-and-dirty method to consider in that case is to insert
<span epub:type="pagebreak" id="page1" /> into the document at each page break, then have the index link to the print page. This isn't ideal, as a print page can span multiple screens (particularly on a cell phone!), but it can get you part way there if you're interested in cutting corners.