La secuencia de comandos Dynamic HyperText Markup Language (DHTML) es un grupo de lenguajes de secuencia de comandos que se utilizan para agregar elementos interactivos a los sitios web. DHTML no es un lenguaje separado en sí mismo: el lenguaje de marcado de hipertexto (HTML), las hojas de estilo en cascada (CSS), JavaScript y el módulo de objetos de documento (DOM) son los principales lenguajes que componen el script DHTML. La naturaleza dinámica de DHTML permite que una página web cambie una vez que se ha cargado en un navegador web, pero no puede cambiar el contenido cada vez que se carga la página.
Cuando se creó la Web, la mayoría de los sitios web eran estáticos, lo que significa que su contenido era siempre el mismo sin importar lo que hiciera el usuario. A medida que los sitios web comenzaron a complicarse tanto en la estructura del contenido como en el diseño, la necesidad de crear páginas que pudieran reaccionar y cambiar dependiendo de la entrada del usuario se volvió más importante. Esta necesidad es la razón por la que los programadores comenzaron a utilizar DHTML.
Es imposible decir exactamente cuándo se utilizó por primera vez el script DHTML, pero comenzó a ganar popularidad cuando se lanzaron los navegadores de la Versión 4. Un problema familiar para los diseñadores web es que es difícil utilizar la nueva tecnología, ya que los usuarios en general son relativamente lentos para actualizar sus navegadores. Este hecho retrasó el uso del script DHTML. El uso de la secuencia de comandos DHTML comenzó a despegar realmente cuando el World Wide Web Consortium (W3C) publicó un conjunto de estándares para su uso. Esto permitió a los diseñadores web crear scripts estandarizados que podrían usarse en Internet.
Un aspecto confuso de la secuencia de comandos DHTML es que no se considera un lenguaje de programación de computadoras porque es un conjunto de diferentes lenguajes de escritura y marcado que se usan juntos, a saber, HTML, CSS, JavaScript y DOM. CSS se utiliza para crear hojas de estilo que definen cómo aparece una página web, mientras que JavaScript puede agregar elementos interactivos. Además, no es una técnica para crear contenido dinámico, sino una herramienta para hacer que un sitio web sea interactivo. Esto significa que tiene un propósito diferente al de otros lenguajes de secuencias de comandos, como el preprocesador de hipertexto (PHP).
DHTML funciona permitiendo al propietario de un sitio web crear variables que el usuario final puede cambiar. Estas variables afectan el código HTML de la página, que a su vez cambia la forma en que el usuario ve el sitio web. La distinción importante que se debe hacer entre DHTML y otros lenguajes de programación y desarrollo web es que DHTML no puede cambiar la página a contenido único cada vez que se carga una página. En cambio, solo puede cambiar la forma en que aparece la página después de que se haya cargado.