Generates a HTML valid ID. HTML valid IDs should follow specific standards:
The ID must start with a letter (a-z or A-Z).
All subsequent characters can be letters, numbers (0-9), hyphens (-), underscores (_), colons (:), and periods (.).
Each ID must be unique within the document.