Le HTML n'est pas un langage de programmation mais plutôt de description.
Et oui indirectement il en faudra
ton javascript il est censé modifier quoi ? -> le HTML de la page.
Pour le HTML bah comme tu veux, généralement c'est souvent du XHTML/HTML4/HTML5 qui est utilisé mais globalement ça reste quand même la même logique, c'est surtout une question de syntaxe plus strict (bien que le HTML5 apporte pas mal de nouveautés mais qui en somme ne sont qu'une évolution logique de ce qu'on faisait déjà).
Pour la difficulté, bah ça ça dépendra uniquement de ta faculté de compréhension (et de ce que tu veux faire surtout).