Some of the templates ended up being a little more complex than I had initially planned (extra editable regions, options regions, etc) but overall I think it's worked out fairly well. Of course, the templates aren't flexible enough to use for the remainder of the reports (to be released who knows when) unless I add optional regions, etc ... but I think I'll just go with new templates. They won't be drastically different from the current ones so the additions should be pretty easy to work up.
I have some reservations about our "help text." There's no definitive indication of what happens when the help icon is clicked beyond the text just appearing. It's possible that a less alert user could miss this. Also, though it's not too intrusive, the quesion/circle icon does interrupt the document flow somewhat (though I have seen similar schemes used on other sites).
I was thinking of trying another method such as linking the text itself but modifying the link to be the same color as the normal text with maybe a light underline and have the cursor change on mouseover. There are two problems with this method, however. 1) It would interfere in cases where normal links were needed. 2) It might be a little too "under the radar" for the average user to notice.
I had another thought about a floating "mini-reference" that could be used to provide the additional information. Unfortunately it would require a significant amount of time to program. Time that I'm not willing to put in at this late in the game (unless specifically requested to do so).
I added a new function to the reports, a "toolbar" that's added to the top of a page with a link to print the document. The script is fairly intelligent and requires no coding to use. All that's needed is for the script to be included on the page. The main drawback is that the script only works on modern browsers. Here's a quick run-down:
- Using the addEventListener method an onLoad function is added to the document that adds the toolbar
- Not all browsers support the window.print function, so a test is done for it's availability before any other steps
- The function uses DOM scripting to add the toolbar, so a second test is done for the getElementById function
- The toolbar is added using addNode function to create a div that is absolutely positioned at the top of the page using styling