SlideShare uma empresa Scribd logo
1 de 72
HTML




  Jose Emilio Labra Gayo
Departamento de Informática
  Universidad de Oviedo
Proceso de Estandarización
                     ¿Dónde está tu tecnología favorita?

                                                        Éxito
                                                   (Diversificación)              Necesidad
                                                                                  de estándar
       Idea brillante
                                                Posibles perversiones...
                                       No estandarización
                                       Estandarizar algo que no tiene éxito
                                       Estándar demasiado pronto
                                       Estándar demasiado tarde
                                       Comités poco representativos            Especificación
                                       Estándar sin prototipos                    (comité)
                                       No adoptar el estándar
                                       etc., etc.
             Adopción                                           Primeros
            del estándar                                        prototipos       Internacionales
           (limitaciones)                                                       ISO, W3C, IETF,
                                                                              ECMA, WHATWG, etc.
Jose Emilio Labra Gayo, Universidad de Oviedo
Evolución
        1970        GML        Generalized Markup Language
                               (C.Goldfarb, E. Moshie, R. Lorie)
           ∶
                               Standard Generalized Markup Language
        1985       SGML        (ISO)


                                                                      Hypertext Markup Language
        1990                                                 HTML     (T. Berners Lee)
                                                             HTML 2.0 (IETF)
        1995
                                                             HTML 3.2 (W3c)
                    XML       (W3c)
                                                             HTML 4.01 (W3c)
        2000
                                    XHTML 1.0 (W3c)                                      Borrador
                                    XHTML 2.0 Borrador (W3c)                     HTML5 (WHATWG)
        2005
                                         X
        2010
                                                                                         Borrador
                                                                                 HTML5 (W3c & Whatwg)
        2015


Jose Emilio Labra Gayo, Universidad de Oviedo
HTML 5

      Evolución de HTML 4.01 (compatibilidad hacia atrás)
      Admite 2 Sintaxis: HTML y XML
      Modelo de procesamiento estándar
              Mejorar interoperabilidad entre implementaciones
              Incluye API DOM
                     Antes estaba separada
              Describe cómo gestionar errores
                     Antes se dejaba libertad a las implementaciones
      Facilita desarrollo de aplicaciones Web




Jose Emilio Labra Gayo, Universidad de Oviedo
Principios de diseño

      Compatibilidad
              Soportar contenido existente
              Degradado cortés: alternativas para navegadores anteriores
              Reutilizar características que ya se usan
      Utilidad
              Resolver problemas existentes
              Separación: estructura, presentación, comportamiento
      Interoperabilidad
              Comportamiento y gestión de errores definidos
      Acceso universal
              Independencia de medios, internacionalización y accesibilidad



Jose Emilio Labra Gayo, Universidad de Oviedo
2 sintaxis

   HTML                                          XHTML
   <!DOCTYPE html>                               <?xml version="1.0"
   <html>                                              encoding="UTF-8"?>
     <head>                                      <html xmlns="http://www.w3.org/1999/xhtml">
       <meta charset="UTF-8">                      <head>
       <title>Ejemplo</title>                        <title>Ejemplo</title>
     </head>                                       </head>
     <body>                                        <body>
       <p>Algo de texto</p>                          <p>Algo de texto</p>
     </body>                                       </body>
   </html>                                       </html>

   Tipo MIME:                                    Tipo MIME:
      text/html                                     application/xml
                                                    application/xhtml+xml




Jose Emilio Labra Gayo, Universidad de Oviedo
Tipo de documento

   Solamente es necesario

                                          <!DOCTYPE html>
   Antes:
   Estricto:
   <!DOCTYPE HTML PUBLIC
          "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

   Transicional:
   <!DOCTYPE HTML PUBLIC
         "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

   Con marcos:
   <!DOCTYPE HTML PUBLIC
        "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">




                                                     Más información: http://hsivonen.iki.fi/doctype/
Jose Emilio Labra Gayo, Universidad de Oviedo
Sintaxis HTML

      HTML5 ya no tiene sintaxis SGML ni XML
              No hay declaraciones de espacios de nombres
              Se especifica cómo tratar errores
              Gestión de errores: modelo draconiano vs flexibilidad
      Sintaxis simplificada
              No siempre es obligatorio cerrar etiquetas
              No es obligatorio poner entre comillas valores simples


    <input name=tlfno disabled>                    =   <input name="tlfno" disabled="" />
    HTML                                               XHTML




Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos

      Elemento:
                 <etiqueta atributo1="valor1" atributo2="valor2"...>
                   . . . contenidos . . .
                 </etiqueta>


          Se pueden anidar elementos                        <externo>
                                                             <interno>
                                                               texto
                                                             </interno>
                                                                          
                                                            </externo>

          …pero no se pueden entrelazar                     <externo>


                                                                          
                                                             <interno>
                                                               texto
                                                             </externo>
                                                            </interno>
Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos vacíos

      Elementos sin contenido

               <img src="foto.png" alt="Paisaje asturiano"></img>


      En XML pueden simplificarse como:
               <img src="foto.png" alt="Paisaje asturiano" />


      En HTML, no es obligatorio cerrar etiquetas siempre:
               <img src="foto.png" alt="Paisaje asturiano" >



Jose Emilio Labra Gayo, Universidad de Oviedo
Atributos

      El orden de los atributos no es significativo
      No puede haber 2 atributos con el mismo nombre
      Pueden usarse comillas dobles o simples

                     <body onLoad="alert('Hola')"
                            onUnload='alert("Adios")'>
                      . . .
                     </body>




Jose Emilio Labra Gayo, Universidad de Oviedo
Comentarios HTML

      Texto entre <!-- y -->
                                      <head>
                                      <title>Ejemplo</title>
                                      <!-- Esto es un comentario -->
                                      </head>


         Comentarios condicionales (Sólo Internet Explorer)
                                      <!--[if lt IE 9]>
                                       <p>Estás usando Internet Explorer</p>
                                      <![endif]-->
                                      <!--[if !IE]><!-->
                                       <p>No estás usando Internet Explorer</p>
                                      <!--<![endif]-->


Jose Emilio Labra Gayo, Universidad de Oviedo
Estructura de HTML                   = HTML4


      Elemento raíz <html> contiene:
              <head> metadatos
              <body> contenido de la página


                        <html>
                         <head>
                            ...metadatos
                         </head>
                         <body>
                            ...contenido
                         </body>
                        </html>

                                                      NOTA
                                                      <html> puede tener atributo manifest.
                                                          Permite indicar ficheros a descargar
Jose Emilio Labra Gayo, Universidad de Oviedo             cuando se ejecute offline
head          = HTML4


      Especifica metadatos
      Puede contener un elemento <title> (en HTML4 era obligatorio)
      Además, puede contener:
        <meta>
        <link>
        <style>
        <base>
        <command>
        <script>
        <noscript>




Jose Emilio Labra Gayo, Universidad de Oviedo
meta

      Permite incorporar metadatos. Ejemplos:

         <head>
            <title>Ejemplo</title>
            <meta charset="utf-8" >
            <meta name="author" content="Jose Torres">
            ...
          </head>

                     Antes
   <meta http-equiv="Content-type" content="text/html; charset=UTF-8">




Jose Emilio Labra Gayo, Universidad de Oviedo
link       = HTML4


      Permite enlazar a otros recursos.
      Atributo href indica el recurso al que se enlaza
      Atributo rel indica el tipo de enlace, puede ser:
         author, help, license, next, prev, prefetch, stylesheet, …
      Pueden realizarse varios tipos de enlace a la vez
      <head>
         ...
       <link rel="next"           href="capitulo3.html">
       <link rel="prev"           href="capitulo1.html">
       <link rel="author license" href="acercaDe.html">
      </head>




Jose Emilio Labra Gayo, Universidad de Oviedo
link stylesheet       = HTML4


      rel="stylesheet" permite asociar una hoja de estilos
              type="text/css" es el valor por defecto
              media permite especificar el tipo de medio
                     all (por defecto), screen, print, projection,…
              title permite dar un nombre a la hoja de estilos
              alternate stylesheet indica que es un hoja alternativa

      <head>
         ...
        <link rel="stylesheet" href="estilo.css" title="Azul">
        <link rel="alternate stylesheet" href="rojo.css" title="Rojo">
        <link rel="stylesheet" href="impreso.css" media="print">
      </head>



Jose Emilio Labra Gayo, Universidad de Oviedo
link alternate   = HTML4


      rel="alternate" indica enlaces alternativos
                     Ejemplo: enlazar RSS

      <head>
         ...
         <link rel="alternate" type="application/atom+xml"
               title="Blog en Atom" href="blog.atom" >
         . . .
      </head>




Jose Emilio Labra Gayo, Universidad de Oviedo
style                     = HTML4


      Permite incrustar declaraciones de estilo
              Pueden afinarse estilos de una hoja de estilos
              En general, es mejor utilizar enlaces a ficheros externos


      <head>
         ...
        <link rel="stylesheet" href="estilo.css" >
        <style>

              p { text-align: justify; }
              p:first-letter {font-size: 3em; }

        </style>
      </head>



Jose Emilio Labra Gayo, Universidad de Oviedo
base            = HTML4


      Permite especificar la URI de base
              Las URIs relativas tomarán dicha URI como base

      <html>
       <head>
         <title>Noticias</title>
         <base href="http://www.example.com/noticias/index.html">
       </head>
       <body>
        <a href="historico.html">Historico</a>
       </p>
       </body>
      </html>
               Apunta a:
               http://www.example.com/noticias/historico.html

Jose Emilio Labra Gayo, Universidad de Oviedo
script                = HTML4


      Permite añadir interactividad
      type="text/javascript" por defecto
      Puede ser:
              Externo: Mediante src
              Interno: Incrustado directamente (puede usarse para datos)
               <head>
                ...
                <script src="jquery.js"></script>
                <script>
                 $(document).ready(function() {
                  $("a").click(function() {
                    alert("Has pulsado!");
                  });
                 });
               </script>                                 También existe <noscript>:
                </head>                                  muestra su contenido si
                . . .                                    está deshabilitado el
Jose Emilio Labra Gayo, Universidad de Oviedo            scripting
body                     = HTML4


      Especifica el contenido del documento
      Sólo debe haber un elemento <body>
      Diversos atributos permiten controlar eventos de página

            <html>
             <head>
              <script>
               function pon(msg) {
                  document.getElementById('evento').textContent = msg;
               }
              </script>
             </head>
             <body onload="pon('onload')"
                   onresize="pon('resize')" >
              <p>Evento: <span id="evento">nada</span></p>
             </body>
            </html>

Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos de Estructura

      HTML5 contiene nuevos elementos para para definir la
        estructura semántica del documento
              HTML5 outliners: Muestran estructura del documento

         h1,h2,…h6                     Títulos
         div                           Agrupa elementos de contenido
         section                       Sección, puede incluir encabezados
         article                       Artículo
         hgroup                        Grupo de cabecera
         nav                           Listas de navegación
         aside                         Contenido auxiliar
         header                        Cabecera
         footer                        Pie
         address                       Define datos de contacto
         figure                        Figuras
         details                       Detalles opcionales
Jose Emilio Labra Gayo, Universidad de Oviedo
h1, h2, …h6   = HTML4


      Definen títulos de distinto nivel
      Nivel de estructura definido por el número (h1…h6)
              Problema para cortar/pegar contenido
                <body>
                  <h1>La primavera</h1>
                   <h2>Introducción</h2>
                   <p>... </p>
                   <h2>Primera parte: Agentes</h2>
                    <h3>Las flores</h3>
                     <p>...</p>
                    <h3>Las personas</h3>
                     <p>...</p>
                   <h2>Segunda parte: Acciones</h2>
                    <h3>El amor</h3>
                     <p>...</p>
                    <h3>La felicidad</h3>
                     <p>...</p>
                </body>
Jose Emilio Labra Gayo, Universidad de Oviedo
div           = HTML4


      Se utiliza para agrupar contenido
      class, id, lang, etc. permiten seleccionar grupos div
      No tiene significado por si mismo
              Abuso de div mezclando características de presentación
              Recomendación HTML5: sólo como última alternativa
                                      <body>
                                        <div id="cabecera">
                                          . . .
                                        </div>
                                        <div id="contenido">
                                          <div class="noticia">
                                           . . .
                                          </div>
                                        </div>
                                        <div id="barraLateral">
                                          . . .
                                        </div>
                                      </body>
Jose Emilio Labra Gayo, Universidad de Oviedo
section

      Permite declarar una sección dentro de un documento
      Pueden anidarse secciones dentro de otras

    Antes
    <body>                                            <body>
      . . .                                             . . .
       <div id="Sociedad">                               <section id="Sociedad">
         <h2>La via social</h2>                             <h1>La via social</h1>
         <p> ... </p>                                       <p>...</p>
       </div>                                     ≃      </section>
       <div id="Deportes">                               <section id="Deportes">
         <h2>Noticias deportivas</h2>                       <h1>Noticias deportivas</h1>
         <p>. . .</p>                                       <p>. . .</p>
       </div>                                            </section>
    </body>                                           </body>
    Problemas:
        no hay semántica, cortar/pegar,…
Jose Emilio Labra Gayo, Universidad de Oviedo
article

      Declara una parte independiente de un documento
              Artículo de blog, de periódico, etc.
              Algo que podría reutilizarse o distribuirse en otros documentos
      Pueden anidarse secciones y artículos
    <body>
      <h1>El noticiero</h1>
      <section id="Sociedad">
       <h1>Noticias de sociedad</h1>
       <article id="FiestaJuan">
         <h1>Juan da una fiesta</h1>
         <p>...</p>
       </article>                                                   Diferencia
       <article id="Boda">                                section está dentro de algo
         <h1>Por fin hay boda</h1>
         <p>...</p>                                       article tiene identidad propia
       </article>
     </section>
     ...
Jose Emilio Labra Gayo, Universidad de Oviedo
hgroup

      Forma un grupo de cabecera
              Será un elemento único de cara a la tabla de contenidos
              Útil para agrupar subtítulos sin afectar al esquema del documento


      <body>
        <hgroup>
         <h1>El noticiero</h1>
         <h2>El mejor diario de noticias</h2>
        </hgroup>
        <section id="Sociedad">
          <h1>La via social</h1>
          <p>...</p>
        </section>
        ...

Jose Emilio Labra Gayo, Universidad de Oviedo
aside

      Algo relacionado tangencialmente con el contenido actual
              Habitualmente, pueden ponerse en un lateral
              Su lectura no es obligada (los agentes podrían ocultarlos)



          <article id="Boda">
            <h1>Por fin hay boda</h1>
            <p>A pesar de las protestas de los invitados,
                la boda se celebró...</p>
             <aside>
             <h1>Refrán popular</h1>
             Tal y como dice el refrán:
              <q>Ni novia sin cejas, ni boda sin quejas.</q>
             </aside>
          </article>



Jose Emilio Labra Gayo, Universidad de Oviedo
nav

      Declara un grupo de navegación
              Suele ser una lista de enlaces

                         <body>
                          <h1>El noticiero</h1>
                          <nav>
                           <ul>
                            <li><a href="#sociedad">Sociedad</a></li>
                            <li><a href="#deportes">Deportes</a></li>
                           </ul>
                          </nav>
                          <section id="Sociedad">
                            <h1>La via social</h1>
                            <p>. . .</p>
                          </section>
                         .. .


Jose Emilio Labra Gayo, Universidad de Oviedo
header

      Declara una cabecera
      No forman parte de la tabla de contenidos (outline)

          <body>
            <header>
              <h1>El noticiero</h1>
              <img src="logo.png" alt="logo de El noticiero" >
              <nav>
               <ul>
                <li><a href="#sociedad">Sociedad</a></li>
                 ...
               </ul>
              </nav>
            </header>
             ...
          </body>


Jose Emilio Labra Gayo, Universidad de Oviedo
footer

      Declara un pie de documento, sección o artículo


         <body>
          <header>
           ...
          </header>
          <section id="Sociedad">
           ...
          </section>
          ...
          <footer>
           © 2012. Todos los derechos reservados
          </footer>
         </body>
         </html>


Jose Emilio Labra Gayo, Universidad de Oviedo
address                          = HTML4


      Indica información de contacto
      Habitualmente se incluye en footer



                   ...
                   <footer>
                   © 2012. Todos los derechos reservados
                   <address>
                      Contacto: <a href="http://noticiero.es">El noticiero</a>
                    </address>
                   </footer>




Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos para agrupar contenido




Jose Emilio Labra Gayo, Universidad de Oviedo
Párrafos, listas, definiciones           = HTML4


      p                              párrafo.
      ol, ul, li                     listas de ítems
      dt,dl,dd                       definiciones
      pre                            texto preformateado
      blockquote                     contenido extraido de otra fuente




Jose Emilio Labra Gayo, Universidad de Oviedo
Figuras: figure, figcaption

      figure representa contenido cuya posición no es importante
              Puede tener su propio flujo de contenido
              Puede ser: diagramas, imágenes, vídeos, fragmento de código, etc.
      figcaption representa la leyenda de la figura



            <figure>
              <img src="juanBarbacoa.jpg"
                   alt="Foto de Juan en la barbacoa">
              <figcaption>Juan preparando una barbacoa</figcaption>
            </figure>




Jose Emilio Labra Gayo, Universidad de Oviedo
details

      Contenido que puede estar oculto
              summary indica el contenido visible
              El navegador puede visualizar los detalles a peticíón del usuario


      <h1>Campeonato de tenis de mesa</h1>
      <p>Acaba de arrancar la última competición de tenis del pueblo. </p>
      <details>
      <summary>Lista de partidos</summary>
         <ul>
          <li>Jueves, Juan - Antonio</li>
          <li>Viernes, Ana- Antonio</li>
          <li>Sábado, Ana- Juan</li>
         </ul>
      </details>




Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos textuales




Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos textuales                       = HTML4


    Elemento              Definición            Ejemplo
           em             Énfasis               Esta bebida me parece <em>espectacular</em>

        strong            Importante            La leche está <strong>muy caliente</strong>

         small            No importante         Tome Exidina <small>Este medicamento... </small>

            s             Incorrecto            Precio: <s>10 euros</s>. 9,95 euros

          cite            Títulos de obras En <cite>El Quijote</cite> hay 2 protagonistas.

            q             Citas                 Juan dijo <q>Bien predica quien bien vive</q>

          abbr            Abreviación           Un <dfn>catamorfismo</dfn> es un tipo de functor

          span            Texto diferente       Castillo en francés es <span lang="fr">château</span>

           br             Salto de línea        C/Valdés Salas, S/N<br>Oviedo<br>España

          wbr             Posible salto         super<wbr>cali<wbr>frasti<wbr>listico.com


Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos textuales                   = HTML4


           Elemento            Definición        Ejemplo
           code                Código            <code>checkDB</code> chequea la base de
                                                 datos.
           var                 Variable          Sea <var>n</var> el número de personas, ...

           samp                Muestra,          La salida es: <samp>Syntax error</samp>
                               Salida
           kbd                 Entrada teclado   Pulse <kbd>F1</kbd> para obtener ayuda

           sub                 Subíndice         El agua es H<sub>2</sub>O

           sup                 Superíndice       El cuadrado es <var>x<sup>2</sup></var>

           i                   Voz alternativa   Es un <i>poquillo</i> trasto

           b                   Palabras clave    Contiene <b>salmón</b> y <b>tomate</b>

           u                   Anotaciones       Escribe <u>lopo</u> en vez de <b>lobo</b>


Jose Emilio Labra Gayo, Universidad de Oviedo
Inserción/Borrado                = HTML4



           Elemento            Definición           Ejemplo
           ins                 Texto insertado      <ins>Texto insertado</ins>

           del                 Texto borrado        <del>Texto eliminado</del>




      <ol>
        <li><ins datetime="2012-02-12">Bug 2: No funciona cortar</ins></li>
        <li><del datetime="2012-03-01">
              <ins datetime="2008-02-11">Bug 221: Error al cargar</ins>
            </del>
        </li>
      </ol>




Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos textuales nuevos


       Elemento              Definición              Ejemplo
       mark                  Texto Resaltado         El <mark>lobo</mark> ibérico.
                             Ej. tras una búsqueda   Los <mark>lobo</mark>s son animales
       data                  Dato                    Juan sacó un <data value="10">diez</data>.

       time                  Evento temporal         Nos vemos el
                             datetime indica         <time datetime="2012-04-01">sábado</time>
                             instante




Jose Emilio Labra Gayo, Universidad de Oviedo
Tablas

    Elemento Definición
    table               Una tabla                  <table>
                                                    <caption>Notas</caption>
    caption             Leyenda de la tabla         <tr><th>Nombre</th><th>Nota</th></tr>
                                                    <tr><td>Jose Torre</td><td>8</td></tr>
    tr                  Fila                        <tr><td>Ana Blanco</td><td>6</td></tr>
                                                    <tr><td>Juan Mato</td><td>4</td></tr>
    th                  Celda de cabecera
                                                    <tr><td>Luis Rojas</td><td>7</td></tr>
    td                  Celda de datos             </table>

    colgroup            Grupo de columnas

    col                 Representa una columna        Agrupar columnas
                        dentro de un colgroup
    tbody               Cuerpo de la tabla

    thead               Cabecera de la tabla          Útiles para tablas que ocupan
                                                      varias páginas
    tfoot               Pie de tabla


Jose Emilio Labra Gayo, Universidad de Oviedo
Contenido Incrustado

      Elemento             Definición           Ejemplo
      img                  Imagen               <img src="logoX.png" alt="Logotipo X">

      audio                Audio                <audio src="cancion.mp3" controls autoplay loop>

      video                Vídeo                <video src="navidad.mp4" controls >

      object               Objeto               <object data="juego.swf" >

      iframe               Página               <iframe src="http://www.w3c.org" >

      map/area             Mapa                 <map name="cosas">
                                                  <area shape="rect" coords="0,0,82,126"
                                                        alt="casa" href="casa.htm" />
                                                  <area shape="circle" coords="90,58,3"
                                                        alt="bola" href="bola.html" />
                                                </map>




Jose Emilio Labra Gayo, Universidad de Oviedo
Atributos




Jose Emilio Labra Gayo, Universidad de Oviedo
Atributos globales HTML                    = HTML4



   Elemento              Definición              Ejemplo
   class                 Clase                   <div class="Anuncio">. . .</div>

   id                    Identificador único     <article id="r23">. . .</article>

   title                 Título                  Texto <span title="verdoso">verde</span>

   style                 Información de estilo   Texto <span style="color:green">verde</span>

   accesskey             Atajo de teclado        <a accesskey=B>Búsqueda</a>

   tabindex              Navegación mediante     <a href="about.html" tabindex="2">Acerca</a>
                         tabulación              <a href="mapa.html" tabindex="1">Mapa</a>




Jose Emilio Labra Gayo, Universidad de Oviedo
Atributos nuevos en HTML5


      Elemento                          Definición              Ejemplo
      contenteditable                   Indica si el elemento   Nombre:
                                        puede editarse           <span contenteditable>Juan</span>
      contextmenu                       Muestra menú            <input id=genero contextmenu=genero>
                                        contextual
      hidden                            Elemento no             <section id=juego hidden>. . .
                                        relevante               </section>
      spellcheck                        Habilitar corrector     Nombre:
                                        ortográfico               <input id=nombre spellcheck=no>
      translate                         Traducir o no una       Ejemplo más adelante: Internacionalización
                                        cadena
      data-*                            Atributos definidos      <p data-calorias="50">kiwi</p>
                                        por el usuario




Jose Emilio Labra Gayo, Universidad de Oviedo
Internacionalización




Jose Emilio Labra Gayo, Universidad de Oviedo
Internacionalización


    Elemento            Definición                   Ejemplo
    charset             Codificación                 <meta charset="utf-8" >

    lang                Idioma                       <p lang="es"> Castillo en francés se escribe
    xml:lang            en,es,en-US,...                 <span lang="fr">château</span>
                                                     </p>
    hreflang            Idioma de un enlace          <a href="chateaus.html"
                                                        hreflang="fr">Lista de castillos franceses</a>
    translate           Traducir un texto o          Pulsar <span translate=no>CONTINUE</span> en
                        no                           panel de impresora.




Jose Emilio Labra Gayo, Universidad de Oviedo
Internacionalización


    Elemento              Definición                 Ejemplo
    ruby,                 Anotaciones                <ruby> <rt>      </rt> <rt> </rt></ruby>
    rt, rp                fonéticas habituales
                          en textos asiáticos



    bdi                   Aislar                     Usuario <bdi>    </bdi>: 3 artículos
                          direccionalidad del
                          texto
    bdo                   Formatear                  Castillo al revés es
                          direccionalidad del           <bdo dir=rtl>Castillo</bdo>
                          texto



                                                      Más información: ITS (Internationalization Tag Set)
                                                      http://www.w3.org/TR/its/

Jose Emilio Labra Gayo, Universidad de Oviedo
Formularios




Jose Emilio Labra Gayo, Universidad de Oviedo
Ejemplo                             = HTML4

   http://ejemplo.com/form.html

        <form method="post"
              action="http://ejemplo.com/procesa">
          <label>Nombre:             <input name="cliente"></label><br>
          <label>Correo electrónico: <input name="correo"></label><br>
          <button>Enviar</button>
         </form>


                                                 GET http://ejemplo.com/form.html


                                                             form.html

                                                        WWW
                                                 POST http://ejemplo.com/procesa
                                                  cliente = pepe
  Usuario
                                                  correo = pepe@kiko.com
                                                                                      Servidor


Jose Emilio Labra Gayo, Universidad de Oviedo
Tipos de entrada                    = HTML4
    Elemento               Definición              Ejemplo

    text                   Texto (por defecto)     <input name=cliente>
                                                   <input name=cliente type=text>
    password               Oculta caracteres       <input type=password ...>

    hiden                  Campo oculto            <input type=hiden name=origen value=20>

    checkbox               on/off                  <p>Aficiones:
                                                    <input type=checkbox
                                                           name=aficiones value=Leer>Leer libros
                                                    <br>
                                                    <input type=checkbox
                                                           name=aficiones value=Pasear>Dar paseos
                                                   </p>
    radio                  Opción, sólo uno        <p>Género:
                           dentro de un             <input type=radio name=genero value=H>Hombre
                           grupo                   <br>
                                                    <input type=radio name=genero value=M>Mujer
                                                   </p>


Jose Emilio Labra Gayo, Universidad de Oviedo
Tipos de entrada                       = HTML4




      Elemento             Definición             Ejemplo

      file                 Fichero                <input type=file
                                                         name=Fichero>
      submit               Enviar                 <input type=submit
                                                         value="Enviar">
      image                Imagen (enviar)        <input type=image
                                                         src="img.png" alt="Enviar">
      reset                Reiniciar              <input type=reset
                                                         value="Borrar datos">




Jose Emilio Labra Gayo, Universidad de Oviedo
Elementos de formularios

    Atributo                      Definición         Ejemplo

    fieldset                      Agrupa campos de   <fieldset>
                                  un formulario       <legend>Datos personales</legend>
                                                       Nombre: <input name="nombre"><br>
                                                       Apellidos: <input name="apellidos">
                                                     </fieldset>
    button                        Botón              <button type=submit>

    select                        Seleccionar        <select name="genero">
                                  opciones            <option value="H">Hombre</option>
                                                      <option value="M">Mujer</option>
                                                     </select>
    textarea                      Campo de texto     <textarea rows="4" cols="50">
                                  libre                Comentarios
                                                     </textarea>




Jose Emilio Labra Gayo, Universidad de Oviedo
Atributos                          = HTML4

      Atributo              Definición          Ejemplo

      type                  Tipo de entrada     <input type=. . . >

      name                  Nombre del campo    <input name=apellidos >

      value                 Valor del campo     <input name=país value="España">

      checked               Seleccionado:       Estado Civil:
                            checkbox/radio      <input type=radio
                                                       name=estado value=S checked>Soltero
                                                <br>
                                                <input type=radio
                                                       name=estado value=M>Casado
      maxlength             Nº máximo de        <input name=apellidos maxlength="20">
                            caracteres
      disabled              Desabilitado        <input name=edad disabled>

      readonly              Sólo lectura        <input name=país value="España" readonly>


Jose Emilio Labra Gayo, Universidad de Oviedo
Nuevos tipos de entrada

      Elemento                      Definición        Ejemplo

      email                         Correo            <input type=email
                                    electrónico              name=correo>
      url                           URL               <input type=url
                                                             name=Homepage>
      tel                           Teléfono          <input type=tel
                                                             name=Tlfno>
      search                        Texto de          <input type=search
                                    búsqueda                 name=cadena>




                 email                          url                   tel     búsqueda
Jose Emilio Labra Gayo, Universidad de Oviedo
Nuevos tipos de entrada
      Elemento                      Definición   Ejemplo

      color                         Color        <input type=color
                                                        name=colorFondo>




      date                          Fechas       <input type=date
      datetime                                          name=fechaNacimiento>
      datetime-local
      month
      year
      week
      time
      number                        Número       <input type=number
                                                        name=edad
                                                        min=1 max=150>
      range                         Rango        <input type=range
                                                        name=puntos
                                                        min=1 max=10>
Jose Emilio Labra Gayo, Universidad de Oviedo
Nuevos atributos
      Atributo                      Definición        Ejemplo

      autocomplete                  Autocompletar     <input name=Nombre
                                    on/off                   autocomplete="off">
      placeholder                   Pista sobre el    <input name=textoBuscar
                                    tipo de entrada          placeholder="Cadena a buscar">
      required                      Campo             <input name=usuario required>
                                    obligatorio
      pattern                       Patrón            <input name=nif
                                    (expresión               pattern="d{7,8}[A-Z]"
                                    regular)                 title="Introduzca un NIF">
      min/max/step                  Valores mínimo    <input type=range
                                    y máximo                 name=puntos
                                                             min=1 max=10 step=2>
      multiple                      Se permiten       <input type=file
                                    entradas                 name=ficherosCopia
                                    múltiples                multiple>


Jose Emilio Labra Gayo, Universidad de Oviedo
Expresiones regulares
            Expresión                         Posibles valores
       Elemento d                          Elemento 2
        a*b                                 b, ab, aab, aaab, …
        [xyz]b                              xb, yb, zb
        a?b                                 b, ab
        a+b                                 ab, aab, aaab, …
       [a-c]x                                   ax, bx, cx
       [^0-9]x                                  Carácter   dígito seguido de x
       Dx                                      Carácter   dígito seguido de x
       (pa){2}rucha                             paparucha
       .abc                                     Cualquier carácter (1) seguido de abc
       (a|b)+x                                  ax, bx, aax, bbx, abx, bax,...
       a{1,3}x                                  ax, aax, aaax
       n                                       Salto de línea
       p{Lu}                                   Letra mayúscula
       p{Sc}                                   Símbolo de moneda
Jose Emilio Labra Gayo, Universidad de Oviedo
Nuevos Atributos

    Atributo                      Definición         Ejemplo

    autofocus                     Indicar            <input name=Nombre
                                  adquisición               autofocus>
                                  "focus"
    list                          Lista de valores   <input list="lista" name="nombre">
                                  sugeridos          <datalist id="lista">
                                                        <option value="Jose">
                                                        <option value="Luis">
                                                     </datalist>
    form                          Formulario         <input name=usuario form="DatosUsr">

    formmethod                    Cambia el valor    <input type=submit
    formenctype                   correspondiente           formnovalidate
    formaction                    del elemento              formtarget="blank">
    formnovalidate                form
    formtarget



Jose Emilio Labra Gayo, Universidad de Oviedo
Nuevos elementos

    Atributo           Definición                    Ejemplo

    meter              Medida dentro de un           Espacio en disco:
                       rango.                         <meter value="34"
                       Ej. Espacio en diso,                  max="100">34%</meter>
    progress           Representa el progreso de Ficheros copiados:
                       una tarea en ejecución     <progress value="34"
                       Ej. %datos copiados                  max="100">34%</progress>
    output             Resultado de una              <form
                       computación                      onsubmit="return false"
                                                        oninput="o.value =
                                                           a.valueAsNumber + b.valueAsNumber">
                                                       <input name=a type=number step=any> +
                                                       <input name=b type=number step=any> =
                                                       <output name=o></output>
                                                      </form>




Jose Emilio Labra Gayo, Universidad de Oviedo
Nuevos elementos

    Atributo               Definición               Ejemplo

    menu,                  Crea un menú con         <menu type=toolbar>
    command                comandos                  <command label="Abrir" onclick="open()">
                                                     <command label="Guardar" onclick="save()">
                                                    </menu>
    keygen                 Genera una clave que     <keygen name=clave>
                           puede enviarse en un
                           formulario




Jose Emilio Labra Gayo, Universidad de Oviedo
Soporte para MathML y SVG

      HTML5 admite la inclusión directa de MathML y SVG
              En HTML no es necesario utilizar espacios de nombres
      MathML = definir fórmulas matemáticas
      SVG = gráficos vectoriales
              A diferencia del canvas, los gráficos pueden escalarse
              El sistema indica elemento a dibujar




Jose Emilio Labra Gayo, Universidad de Oviedo
Soporte para MathML y SVG

      Ejemplo
            <!DOCTYPE html>
            <title>MathML y SVG</title>
            <meta charset="UTF-8" >
            <p>
            Una ecuación:
             <math>
              <mrow><mi>x</mi><mo>=</mo>
              <msqrt>
               <mfrac>
                <mrow><mi>Varianza</mi></mrow>
                <mrow><mn>2</mn></mrow>
               </mfrac>
              </msqrt>
             </mrow>
            </math>
            y un círculo:
             <svg> <circle r="50" cx="50" cy="50" fill="green"/> </svg>
            </p>
                     http://www.di.uniovi.es/~labra/cursos/XML/ejemplos/svgMathML.html
Jose Emilio Labra Gayo, Universidad de Oviedo
Microdatos

      Enriquecer un documento con valores de un vocabulario
              Añade metadatos que pueden procesarse automáticamente
              Objetivo: Facilitar descripción de los contenidos
              Acercamiento a la Web Semántica
              Consiste en grupos de parejas nombre/valor




Jose Emilio Labra Gayo, Universidad de Oviedo
Microdatos

      Atributo               Definición                   Valores

      itemscope              Contenedor de microdatos     Valor booleano

      itemtype               Define tipo de ítems         Lista de URIs

      itemid                 Identificador del ítem       URI

      itemref                Referencia donde se pueden   Identificador
                             obtener más datos
      itemprop               Propiedad a definir          Nombre de la propiedad a declarar




Jose Emilio Labra Gayo, Universidad de Oviedo
Microdatos

      Los valores de la propiedad definida en itemprop
        dependen del tipo de elemento:
                 Elemento                            Valor

                 meta                                Valor de content

                 a, area, link                       Valor de href

                 audio, embed, video, iframe,        Valor de src
                 img, source, track
                 object                              Valor de data

                 data                                Valor de value

                 Resto de elementos                  Contenido textual



Jose Emilio Labra Gayo, Universidad de Oviedo
Microdatos

      Ejemplo:
           <div itemscope
                itemtype="http://schema.org/Offer"
                itemid="http://ejemplo.org/Oferta24">
            <h1 itemprop="name">Batidora</h1>
            <p>Precio: <span itemprop="price">19.95€</span>
            <p itemscope itemprop="reviews"
               itemtype="http://schema.org/AggregateRating">
            Puntuación:
               <span itemprop="ratingValue">3</span> sobre
               <span itemprop="bestRating">5</span>.
               Basado en <span itemprop="ratingCount">25</span> usuarios
             </p>
           </div>




Jose Emilio Labra Gayo, Universidad de Oviedo
Accesibilidad




Jose Emilio Labra Gayo, Universidad de Oviedo
Accesibilidad y HTML5

      WAI-ARIA (Accessible Rich Internet Applications)
              Define roles para mejorar la accesibilidad
                            Rol                 Valor
                            banner              Cabecera
                            search              Búsqueda
                            navigation          Navegación

                            main                Cuerpo principal

                            contentinfo         Información sobre el contenido

                            complementary       Contenido complementario

                            application         Identifica una aplicación

                            . . .               . . .




Jose Emilio Labra Gayo, Universidad de Oviedo
Fin de la Presentación




Jose Emilio Labra Gayo, Universidad de Oviedo

Mais conteúdo relacionado

Mais procurados

Mais procurados (20)

Crash Course on R Shiny Package
Crash Course on R Shiny Package Crash Course on R Shiny Package
Crash Course on R Shiny Package
 
JavaScript Interview Questions 2023
JavaScript Interview Questions 2023JavaScript Interview Questions 2023
JavaScript Interview Questions 2023
 
Iconos de la barra de inicio de Word 2007
Iconos de la barra de inicio de Word 2007Iconos de la barra de inicio de Word 2007
Iconos de la barra de inicio de Word 2007
 
Html basics
Html basicsHtml basics
Html basics
 
PHP
PHPPHP
PHP
 
Trabajo 2
Trabajo 2Trabajo 2
Trabajo 2
 
Practico html
Practico htmlPractico html
Practico html
 
Html css
Html cssHtml css
Html css
 
HTML Semantic Elements
HTML Semantic ElementsHTML Semantic Elements
HTML Semantic Elements
 
Html 5. Estructura de un documento para la Web
Html 5. Estructura de un documento para la WebHtml 5. Estructura de un documento para la Web
Html 5. Estructura de un documento para la Web
 
Lenguaje C (Mapa conceptual)
Lenguaje C (Mapa conceptual) Lenguaje C (Mapa conceptual)
Lenguaje C (Mapa conceptual)
 
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
Unidad 2 ProgramacióN Orientada A Objetos (Repaso)
 
CSS - CSS3
CSS - CSS3CSS - CSS3
CSS - CSS3
 
Fundamento de poo en php
Fundamento de poo en phpFundamento de poo en php
Fundamento de poo en php
 
HTML
HTMLHTML
HTML
 
WPF
WPFWPF
WPF
 
An Introduction to the DOM
An Introduction to the DOMAn Introduction to the DOM
An Introduction to the DOM
 
ELEMENTOS DE LAS VENTANAS DE WINDOWS
ELEMENTOS DE LAS VENTANAS DE WINDOWSELEMENTOS DE LAS VENTANAS DE WINDOWS
ELEMENTOS DE LAS VENTANAS DE WINDOWS
 
Generacionespontanea
GeneracionespontaneaGeneracionespontanea
Generacionespontanea
 
Lenguaje html y css ..
Lenguaje html y css ..Lenguaje html y css ..
Lenguaje html y css ..
 

Destaque (8)

CSS3 Talk at SF HTML5 Meetup
CSS3 Talk at SF HTML5 MeetupCSS3 Talk at SF HTML5 Meetup
CSS3 Talk at SF HTML5 Meetup
 
Lenguaje de marcas html
Lenguaje de marcas htmlLenguaje de marcas html
Lenguaje de marcas html
 
Online / Offline
Online / OfflineOnline / Offline
Online / Offline
 
HTML5 y CSS3
HTML5 y CSS3HTML5 y CSS3
HTML5 y CSS3
 
Presentación html5
Presentación html5Presentación html5
Presentación html5
 
Portales ud4 - lenguaje html
Portales   ud4 - lenguaje htmlPortales   ud4 - lenguaje html
Portales ud4 - lenguaje html
 
Listado etiquetas html 5
Listado etiquetas html 5Listado etiquetas html 5
Listado etiquetas html 5
 
Html5 css3
Html5 css3Html5 css3
Html5 css3
 

Semelhante a HTML & HTML5

Semelhante a HTML & HTML5 (20)

Camilo diaz
Camilo diazCamilo diaz
Camilo diaz
 
Semana 2 Arquitectura web y HTML 5
Semana 2   Arquitectura web y HTML 5Semana 2   Arquitectura web y HTML 5
Semana 2 Arquitectura web y HTML 5
 
Elementos de html5 y css3
Elementos de html5 y css3Elementos de html5 y css3
Elementos de html5 y css3
 
Mateo2
Mateo2Mateo2
Mateo2
 
HTML5 101 - Drupaleada jun12
HTML5 101 - Drupaleada jun12HTML5 101 - Drupaleada jun12
HTML5 101 - Drupaleada jun12
 
Principios basicos del html
Principios basicos del htmlPrincipios basicos del html
Principios basicos del html
 
Htm ltlalti
Htm ltlaltiHtm ltlalti
Htm ltlalti
 
HTML
HTMLHTML
HTML
 
Html mayerly cuartas 11 01
Html mayerly cuartas 11 01Html mayerly cuartas 11 01
Html mayerly cuartas 11 01
 
Trabajo de html wilder ruiz
Trabajo de html wilder ruizTrabajo de html wilder ruiz
Trabajo de html wilder ruiz
 
Html mayerly cuartas 11 01
Html mayerly cuartas 11 01Html mayerly cuartas 11 01
Html mayerly cuartas 11 01
 
Html
HtmlHtml
Html
 
Html
HtmlHtml
Html
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Colegio nacional nicolás esguerra
Colegio nacional nicolás esguerraColegio nacional nicolás esguerra
Colegio nacional nicolás esguerra
 
Trabajo de informatica que es HTML
Trabajo de informatica que es HTMLTrabajo de informatica que es HTML
Trabajo de informatica que es HTML
 
Colegio nacional nicolas esguerra
Colegio nacional nicolas esguerraColegio nacional nicolas esguerra
Colegio nacional nicolas esguerra
 
HTML5 en Acción
HTML5 en AcciónHTML5 en Acción
HTML5 en Acción
 
Tipo
TipoTipo
Tipo
 
HTML5 y CSS3
HTML5 y CSS3HTML5 y CSS3
HTML5 y CSS3
 

Mais de Jose Emilio Labra Gayo

Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctoradoJose Emilio Labra Gayo
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data qualityJose Emilio Labra Gayo
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesJose Emilio Labra Gayo
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesJose Emilio Labra Gayo
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosJose Emilio Labra Gayo
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorJose Emilio Labra Gayo
 

Mais de Jose Emilio Labra Gayo (20)

Publicaciones de investigación
Publicaciones de investigaciónPublicaciones de investigación
Publicaciones de investigación
 
Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctorado
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
Wikidata
WikidataWikidata
Wikidata
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologies
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
2017 Tendencias en informática
2017 Tendencias en informática2017 Tendencias en informática
2017 Tendencias en informática
 
RDF, linked data and semantic web
RDF, linked data and semantic webRDF, linked data and semantic web
RDF, linked data and semantic web
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
19 javascript servidor
19 javascript servidor19 javascript servidor
19 javascript servidor
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazados
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
XSLT
XSLTXSLT
XSLT
 
XPath
XPathXPath
XPath
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el Servidor
 

HTML & HTML5

  • 1. HTML Jose Emilio Labra Gayo Departamento de Informática Universidad de Oviedo
  • 2. Proceso de Estandarización ¿Dónde está tu tecnología favorita? Éxito (Diversificación) Necesidad de estándar Idea brillante Posibles perversiones... No estandarización Estandarizar algo que no tiene éxito Estándar demasiado pronto Estándar demasiado tarde Comités poco representativos Especificación Estándar sin prototipos (comité) No adoptar el estándar etc., etc. Adopción Primeros del estándar prototipos Internacionales (limitaciones) ISO, W3C, IETF, ECMA, WHATWG, etc. Jose Emilio Labra Gayo, Universidad de Oviedo
  • 3. Evolución 1970 GML Generalized Markup Language (C.Goldfarb, E. Moshie, R. Lorie) ∶ Standard Generalized Markup Language 1985 SGML (ISO) Hypertext Markup Language 1990 HTML (T. Berners Lee) HTML 2.0 (IETF) 1995 HTML 3.2 (W3c) XML (W3c) HTML 4.01 (W3c) 2000 XHTML 1.0 (W3c) Borrador XHTML 2.0 Borrador (W3c) HTML5 (WHATWG) 2005 X 2010 Borrador HTML5 (W3c & Whatwg) 2015 Jose Emilio Labra Gayo, Universidad de Oviedo
  • 4. HTML 5 Evolución de HTML 4.01 (compatibilidad hacia atrás) Admite 2 Sintaxis: HTML y XML Modelo de procesamiento estándar Mejorar interoperabilidad entre implementaciones Incluye API DOM Antes estaba separada Describe cómo gestionar errores Antes se dejaba libertad a las implementaciones Facilita desarrollo de aplicaciones Web Jose Emilio Labra Gayo, Universidad de Oviedo
  • 5. Principios de diseño Compatibilidad Soportar contenido existente Degradado cortés: alternativas para navegadores anteriores Reutilizar características que ya se usan Utilidad Resolver problemas existentes Separación: estructura, presentación, comportamiento Interoperabilidad Comportamiento y gestión de errores definidos Acceso universal Independencia de medios, internacionalización y accesibilidad Jose Emilio Labra Gayo, Universidad de Oviedo
  • 6. 2 sintaxis HTML XHTML <!DOCTYPE html> <?xml version="1.0" <html> encoding="UTF-8"?> <head> <html xmlns="http://www.w3.org/1999/xhtml"> <meta charset="UTF-8"> <head> <title>Ejemplo</title> <title>Ejemplo</title> </head> </head> <body> <body> <p>Algo de texto</p> <p>Algo de texto</p> </body> </body> </html> </html> Tipo MIME: Tipo MIME: text/html application/xml application/xhtml+xml Jose Emilio Labra Gayo, Universidad de Oviedo
  • 7. Tipo de documento Solamente es necesario <!DOCTYPE html> Antes: Estricto: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> Transicional: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> Con marcos: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> Más información: http://hsivonen.iki.fi/doctype/ Jose Emilio Labra Gayo, Universidad de Oviedo
  • 8. Sintaxis HTML HTML5 ya no tiene sintaxis SGML ni XML No hay declaraciones de espacios de nombres Se especifica cómo tratar errores Gestión de errores: modelo draconiano vs flexibilidad Sintaxis simplificada No siempre es obligatorio cerrar etiquetas No es obligatorio poner entre comillas valores simples <input name=tlfno disabled> = <input name="tlfno" disabled="" /> HTML XHTML Jose Emilio Labra Gayo, Universidad de Oviedo
  • 9. Elementos Elemento: <etiqueta atributo1="valor1" atributo2="valor2"...> . . . contenidos . . . </etiqueta> Se pueden anidar elementos <externo> <interno> texto </interno>  </externo> …pero no se pueden entrelazar <externo>  <interno> texto </externo> </interno> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 10. Elementos vacíos Elementos sin contenido <img src="foto.png" alt="Paisaje asturiano"></img> En XML pueden simplificarse como: <img src="foto.png" alt="Paisaje asturiano" /> En HTML, no es obligatorio cerrar etiquetas siempre: <img src="foto.png" alt="Paisaje asturiano" > Jose Emilio Labra Gayo, Universidad de Oviedo
  • 11. Atributos El orden de los atributos no es significativo No puede haber 2 atributos con el mismo nombre Pueden usarse comillas dobles o simples <body onLoad="alert('Hola')" onUnload='alert("Adios")'> . . . </body> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 12. Comentarios HTML Texto entre <!-- y --> <head> <title>Ejemplo</title> <!-- Esto es un comentario --> </head> Comentarios condicionales (Sólo Internet Explorer) <!--[if lt IE 9]> <p>Estás usando Internet Explorer</p> <![endif]--> <!--[if !IE]><!--> <p>No estás usando Internet Explorer</p> <!--<![endif]--> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 13. Estructura de HTML = HTML4 Elemento raíz <html> contiene: <head> metadatos <body> contenido de la página <html> <head> ...metadatos </head> <body> ...contenido </body> </html> NOTA <html> puede tener atributo manifest. Permite indicar ficheros a descargar Jose Emilio Labra Gayo, Universidad de Oviedo cuando se ejecute offline
  • 14. head = HTML4 Especifica metadatos Puede contener un elemento <title> (en HTML4 era obligatorio) Además, puede contener: <meta> <link> <style> <base> <command> <script> <noscript> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 15. meta Permite incorporar metadatos. Ejemplos: <head> <title>Ejemplo</title> <meta charset="utf-8" > <meta name="author" content="Jose Torres"> ... </head> Antes <meta http-equiv="Content-type" content="text/html; charset=UTF-8"> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 16. link = HTML4 Permite enlazar a otros recursos. Atributo href indica el recurso al que se enlaza Atributo rel indica el tipo de enlace, puede ser: author, help, license, next, prev, prefetch, stylesheet, … Pueden realizarse varios tipos de enlace a la vez <head> ... <link rel="next" href="capitulo3.html"> <link rel="prev" href="capitulo1.html"> <link rel="author license" href="acercaDe.html"> </head> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 17. link stylesheet = HTML4 rel="stylesheet" permite asociar una hoja de estilos type="text/css" es el valor por defecto media permite especificar el tipo de medio all (por defecto), screen, print, projection,… title permite dar un nombre a la hoja de estilos alternate stylesheet indica que es un hoja alternativa <head> ... <link rel="stylesheet" href="estilo.css" title="Azul"> <link rel="alternate stylesheet" href="rojo.css" title="Rojo"> <link rel="stylesheet" href="impreso.css" media="print"> </head> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 18. link alternate = HTML4 rel="alternate" indica enlaces alternativos Ejemplo: enlazar RSS <head> ... <link rel="alternate" type="application/atom+xml" title="Blog en Atom" href="blog.atom" > . . . </head> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 19. style = HTML4 Permite incrustar declaraciones de estilo Pueden afinarse estilos de una hoja de estilos En general, es mejor utilizar enlaces a ficheros externos <head> ... <link rel="stylesheet" href="estilo.css" > <style> p { text-align: justify; } p:first-letter {font-size: 3em; } </style> </head> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 20. base = HTML4 Permite especificar la URI de base Las URIs relativas tomarán dicha URI como base <html> <head> <title>Noticias</title> <base href="http://www.example.com/noticias/index.html"> </head> <body> <a href="historico.html">Historico</a> </p> </body> </html> Apunta a: http://www.example.com/noticias/historico.html Jose Emilio Labra Gayo, Universidad de Oviedo
  • 21. script = HTML4 Permite añadir interactividad type="text/javascript" por defecto Puede ser: Externo: Mediante src Interno: Incrustado directamente (puede usarse para datos) <head> ... <script src="jquery.js"></script> <script> $(document).ready(function() { $("a").click(function() { alert("Has pulsado!"); }); }); </script> También existe <noscript>: </head> muestra su contenido si . . . está deshabilitado el Jose Emilio Labra Gayo, Universidad de Oviedo scripting
  • 22. body = HTML4 Especifica el contenido del documento Sólo debe haber un elemento <body> Diversos atributos permiten controlar eventos de página <html> <head> <script> function pon(msg) { document.getElementById('evento').textContent = msg; } </script> </head> <body onload="pon('onload')" onresize="pon('resize')" > <p>Evento: <span id="evento">nada</span></p> </body> </html> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 23. Elementos de Estructura HTML5 contiene nuevos elementos para para definir la estructura semántica del documento HTML5 outliners: Muestran estructura del documento h1,h2,…h6 Títulos div Agrupa elementos de contenido section Sección, puede incluir encabezados article Artículo hgroup Grupo de cabecera nav Listas de navegación aside Contenido auxiliar header Cabecera footer Pie address Define datos de contacto figure Figuras details Detalles opcionales Jose Emilio Labra Gayo, Universidad de Oviedo
  • 24. h1, h2, …h6 = HTML4 Definen títulos de distinto nivel Nivel de estructura definido por el número (h1…h6) Problema para cortar/pegar contenido <body> <h1>La primavera</h1> <h2>Introducción</h2> <p>... </p> <h2>Primera parte: Agentes</h2> <h3>Las flores</h3> <p>...</p> <h3>Las personas</h3> <p>...</p> <h2>Segunda parte: Acciones</h2> <h3>El amor</h3> <p>...</p> <h3>La felicidad</h3> <p>...</p> </body> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 25. div = HTML4 Se utiliza para agrupar contenido class, id, lang, etc. permiten seleccionar grupos div No tiene significado por si mismo Abuso de div mezclando características de presentación Recomendación HTML5: sólo como última alternativa <body> <div id="cabecera"> . . . </div> <div id="contenido"> <div class="noticia"> . . . </div> </div> <div id="barraLateral"> . . . </div> </body> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 26. section Permite declarar una sección dentro de un documento Pueden anidarse secciones dentro de otras Antes <body> <body> . . . . . . <div id="Sociedad"> <section id="Sociedad"> <h2>La via social</h2> <h1>La via social</h1> <p> ... </p> <p>...</p> </div> ≃ </section> <div id="Deportes"> <section id="Deportes"> <h2>Noticias deportivas</h2> <h1>Noticias deportivas</h1> <p>. . .</p> <p>. . .</p> </div> </section> </body> </body> Problemas: no hay semántica, cortar/pegar,… Jose Emilio Labra Gayo, Universidad de Oviedo
  • 27. article Declara una parte independiente de un documento Artículo de blog, de periódico, etc. Algo que podría reutilizarse o distribuirse en otros documentos Pueden anidarse secciones y artículos <body> <h1>El noticiero</h1> <section id="Sociedad"> <h1>Noticias de sociedad</h1> <article id="FiestaJuan"> <h1>Juan da una fiesta</h1> <p>...</p> </article> Diferencia <article id="Boda"> section está dentro de algo <h1>Por fin hay boda</h1> <p>...</p> article tiene identidad propia </article> </section> ... Jose Emilio Labra Gayo, Universidad de Oviedo
  • 28. hgroup Forma un grupo de cabecera Será un elemento único de cara a la tabla de contenidos Útil para agrupar subtítulos sin afectar al esquema del documento <body> <hgroup> <h1>El noticiero</h1> <h2>El mejor diario de noticias</h2> </hgroup> <section id="Sociedad"> <h1>La via social</h1> <p>...</p> </section> ... Jose Emilio Labra Gayo, Universidad de Oviedo
  • 29. aside Algo relacionado tangencialmente con el contenido actual Habitualmente, pueden ponerse en un lateral Su lectura no es obligada (los agentes podrían ocultarlos) <article id="Boda"> <h1>Por fin hay boda</h1> <p>A pesar de las protestas de los invitados, la boda se celebró...</p> <aside> <h1>Refrán popular</h1> Tal y como dice el refrán: <q>Ni novia sin cejas, ni boda sin quejas.</q> </aside> </article> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 30. nav Declara un grupo de navegación Suele ser una lista de enlaces <body> <h1>El noticiero</h1> <nav> <ul> <li><a href="#sociedad">Sociedad</a></li> <li><a href="#deportes">Deportes</a></li> </ul> </nav> <section id="Sociedad"> <h1>La via social</h1> <p>. . .</p> </section> .. . Jose Emilio Labra Gayo, Universidad de Oviedo
  • 31. header Declara una cabecera No forman parte de la tabla de contenidos (outline) <body> <header> <h1>El noticiero</h1> <img src="logo.png" alt="logo de El noticiero" > <nav> <ul> <li><a href="#sociedad">Sociedad</a></li> ... </ul> </nav> </header> ... </body> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 32. footer Declara un pie de documento, sección o artículo <body> <header> ... </header> <section id="Sociedad"> ... </section> ... <footer> © 2012. Todos los derechos reservados </footer> </body> </html> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 33. address = HTML4 Indica información de contacto Habitualmente se incluye en footer ... <footer> © 2012. Todos los derechos reservados <address> Contacto: <a href="http://noticiero.es">El noticiero</a> </address> </footer> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 34. Elementos para agrupar contenido Jose Emilio Labra Gayo, Universidad de Oviedo
  • 35. Párrafos, listas, definiciones = HTML4 p párrafo. ol, ul, li listas de ítems dt,dl,dd definiciones pre texto preformateado blockquote contenido extraido de otra fuente Jose Emilio Labra Gayo, Universidad de Oviedo
  • 36. Figuras: figure, figcaption figure representa contenido cuya posición no es importante Puede tener su propio flujo de contenido Puede ser: diagramas, imágenes, vídeos, fragmento de código, etc. figcaption representa la leyenda de la figura <figure> <img src="juanBarbacoa.jpg" alt="Foto de Juan en la barbacoa"> <figcaption>Juan preparando una barbacoa</figcaption> </figure> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 37. details Contenido que puede estar oculto summary indica el contenido visible El navegador puede visualizar los detalles a peticíón del usuario <h1>Campeonato de tenis de mesa</h1> <p>Acaba de arrancar la última competición de tenis del pueblo. </p> <details> <summary>Lista de partidos</summary> <ul> <li>Jueves, Juan - Antonio</li> <li>Viernes, Ana- Antonio</li> <li>Sábado, Ana- Juan</li> </ul> </details> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 38. Elementos textuales Jose Emilio Labra Gayo, Universidad de Oviedo
  • 39. Elementos textuales = HTML4 Elemento Definición Ejemplo em Énfasis Esta bebida me parece <em>espectacular</em> strong Importante La leche está <strong>muy caliente</strong> small No importante Tome Exidina <small>Este medicamento... </small> s Incorrecto Precio: <s>10 euros</s>. 9,95 euros cite Títulos de obras En <cite>El Quijote</cite> hay 2 protagonistas. q Citas Juan dijo <q>Bien predica quien bien vive</q> abbr Abreviación Un <dfn>catamorfismo</dfn> es un tipo de functor span Texto diferente Castillo en francés es <span lang="fr">château</span> br Salto de línea C/Valdés Salas, S/N<br>Oviedo<br>España wbr Posible salto super<wbr>cali<wbr>frasti<wbr>listico.com Jose Emilio Labra Gayo, Universidad de Oviedo
  • 40. Elementos textuales = HTML4 Elemento Definición Ejemplo code Código <code>checkDB</code> chequea la base de datos. var Variable Sea <var>n</var> el número de personas, ... samp Muestra, La salida es: <samp>Syntax error</samp> Salida kbd Entrada teclado Pulse <kbd>F1</kbd> para obtener ayuda sub Subíndice El agua es H<sub>2</sub>O sup Superíndice El cuadrado es <var>x<sup>2</sup></var> i Voz alternativa Es un <i>poquillo</i> trasto b Palabras clave Contiene <b>salmón</b> y <b>tomate</b> u Anotaciones Escribe <u>lopo</u> en vez de <b>lobo</b> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 41. Inserción/Borrado = HTML4 Elemento Definición Ejemplo ins Texto insertado <ins>Texto insertado</ins> del Texto borrado <del>Texto eliminado</del> <ol> <li><ins datetime="2012-02-12">Bug 2: No funciona cortar</ins></li> <li><del datetime="2012-03-01"> <ins datetime="2008-02-11">Bug 221: Error al cargar</ins> </del> </li> </ol> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 42. Elementos textuales nuevos Elemento Definición Ejemplo mark Texto Resaltado El <mark>lobo</mark> ibérico. Ej. tras una búsqueda Los <mark>lobo</mark>s son animales data Dato Juan sacó un <data value="10">diez</data>. time Evento temporal Nos vemos el datetime indica <time datetime="2012-04-01">sábado</time> instante Jose Emilio Labra Gayo, Universidad de Oviedo
  • 43. Tablas Elemento Definición table Una tabla <table> <caption>Notas</caption> caption Leyenda de la tabla <tr><th>Nombre</th><th>Nota</th></tr> <tr><td>Jose Torre</td><td>8</td></tr> tr Fila <tr><td>Ana Blanco</td><td>6</td></tr> <tr><td>Juan Mato</td><td>4</td></tr> th Celda de cabecera <tr><td>Luis Rojas</td><td>7</td></tr> td Celda de datos </table> colgroup Grupo de columnas col Representa una columna Agrupar columnas dentro de un colgroup tbody Cuerpo de la tabla thead Cabecera de la tabla Útiles para tablas que ocupan varias páginas tfoot Pie de tabla Jose Emilio Labra Gayo, Universidad de Oviedo
  • 44. Contenido Incrustado Elemento Definición Ejemplo img Imagen <img src="logoX.png" alt="Logotipo X"> audio Audio <audio src="cancion.mp3" controls autoplay loop> video Vídeo <video src="navidad.mp4" controls > object Objeto <object data="juego.swf" > iframe Página <iframe src="http://www.w3c.org" > map/area Mapa <map name="cosas"> <area shape="rect" coords="0,0,82,126" alt="casa" href="casa.htm" /> <area shape="circle" coords="90,58,3" alt="bola" href="bola.html" /> </map> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 45. Atributos Jose Emilio Labra Gayo, Universidad de Oviedo
  • 46. Atributos globales HTML = HTML4 Elemento Definición Ejemplo class Clase <div class="Anuncio">. . .</div> id Identificador único <article id="r23">. . .</article> title Título Texto <span title="verdoso">verde</span> style Información de estilo Texto <span style="color:green">verde</span> accesskey Atajo de teclado <a accesskey=B>Búsqueda</a> tabindex Navegación mediante <a href="about.html" tabindex="2">Acerca</a> tabulación <a href="mapa.html" tabindex="1">Mapa</a> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 47. Atributos nuevos en HTML5 Elemento Definición Ejemplo contenteditable Indica si el elemento Nombre: puede editarse <span contenteditable>Juan</span> contextmenu Muestra menú <input id=genero contextmenu=genero> contextual hidden Elemento no <section id=juego hidden>. . . relevante </section> spellcheck Habilitar corrector Nombre: ortográfico <input id=nombre spellcheck=no> translate Traducir o no una Ejemplo más adelante: Internacionalización cadena data-* Atributos definidos <p data-calorias="50">kiwi</p> por el usuario Jose Emilio Labra Gayo, Universidad de Oviedo
  • 48. Internacionalización Jose Emilio Labra Gayo, Universidad de Oviedo
  • 49. Internacionalización Elemento Definición Ejemplo charset Codificación <meta charset="utf-8" > lang Idioma <p lang="es"> Castillo en francés se escribe xml:lang en,es,en-US,... <span lang="fr">château</span> </p> hreflang Idioma de un enlace <a href="chateaus.html" hreflang="fr">Lista de castillos franceses</a> translate Traducir un texto o Pulsar <span translate=no>CONTINUE</span> en no panel de impresora. Jose Emilio Labra Gayo, Universidad de Oviedo
  • 50. Internacionalización Elemento Definición Ejemplo ruby, Anotaciones <ruby> <rt> </rt> <rt> </rt></ruby> rt, rp fonéticas habituales en textos asiáticos bdi Aislar Usuario <bdi> </bdi>: 3 artículos direccionalidad del texto bdo Formatear Castillo al revés es direccionalidad del <bdo dir=rtl>Castillo</bdo> texto Más información: ITS (Internationalization Tag Set) http://www.w3.org/TR/its/ Jose Emilio Labra Gayo, Universidad de Oviedo
  • 51. Formularios Jose Emilio Labra Gayo, Universidad de Oviedo
  • 52. Ejemplo = HTML4 http://ejemplo.com/form.html <form method="post" action="http://ejemplo.com/procesa"> <label>Nombre: <input name="cliente"></label><br> <label>Correo electrónico: <input name="correo"></label><br> <button>Enviar</button> </form> GET http://ejemplo.com/form.html form.html WWW POST http://ejemplo.com/procesa cliente = pepe Usuario correo = pepe@kiko.com Servidor Jose Emilio Labra Gayo, Universidad de Oviedo
  • 53. Tipos de entrada = HTML4 Elemento Definición Ejemplo text Texto (por defecto) <input name=cliente> <input name=cliente type=text> password Oculta caracteres <input type=password ...> hiden Campo oculto <input type=hiden name=origen value=20> checkbox on/off <p>Aficiones: <input type=checkbox name=aficiones value=Leer>Leer libros <br> <input type=checkbox name=aficiones value=Pasear>Dar paseos </p> radio Opción, sólo uno <p>Género: dentro de un <input type=radio name=genero value=H>Hombre grupo <br> <input type=radio name=genero value=M>Mujer </p> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 54. Tipos de entrada = HTML4 Elemento Definición Ejemplo file Fichero <input type=file name=Fichero> submit Enviar <input type=submit value="Enviar"> image Imagen (enviar) <input type=image src="img.png" alt="Enviar"> reset Reiniciar <input type=reset value="Borrar datos"> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 55. Elementos de formularios Atributo Definición Ejemplo fieldset Agrupa campos de <fieldset> un formulario <legend>Datos personales</legend> Nombre: <input name="nombre"><br> Apellidos: <input name="apellidos"> </fieldset> button Botón <button type=submit> select Seleccionar <select name="genero"> opciones <option value="H">Hombre</option> <option value="M">Mujer</option> </select> textarea Campo de texto <textarea rows="4" cols="50"> libre Comentarios </textarea> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 56. Atributos = HTML4 Atributo Definición Ejemplo type Tipo de entrada <input type=. . . > name Nombre del campo <input name=apellidos > value Valor del campo <input name=país value="España"> checked Seleccionado: Estado Civil: checkbox/radio <input type=radio name=estado value=S checked>Soltero <br> <input type=radio name=estado value=M>Casado maxlength Nº máximo de <input name=apellidos maxlength="20"> caracteres disabled Desabilitado <input name=edad disabled> readonly Sólo lectura <input name=país value="España" readonly> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 57. Nuevos tipos de entrada Elemento Definición Ejemplo email Correo <input type=email electrónico name=correo> url URL <input type=url name=Homepage> tel Teléfono <input type=tel name=Tlfno> search Texto de <input type=search búsqueda name=cadena> email url tel búsqueda Jose Emilio Labra Gayo, Universidad de Oviedo
  • 58. Nuevos tipos de entrada Elemento Definición Ejemplo color Color <input type=color name=colorFondo> date Fechas <input type=date datetime name=fechaNacimiento> datetime-local month year week time number Número <input type=number name=edad min=1 max=150> range Rango <input type=range name=puntos min=1 max=10> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 59. Nuevos atributos Atributo Definición Ejemplo autocomplete Autocompletar <input name=Nombre on/off autocomplete="off"> placeholder Pista sobre el <input name=textoBuscar tipo de entrada placeholder="Cadena a buscar"> required Campo <input name=usuario required> obligatorio pattern Patrón <input name=nif (expresión pattern="d{7,8}[A-Z]" regular) title="Introduzca un NIF"> min/max/step Valores mínimo <input type=range y máximo name=puntos min=1 max=10 step=2> multiple Se permiten <input type=file entradas name=ficherosCopia múltiples multiple> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 60. Expresiones regulares Expresión Posibles valores Elemento d Elemento 2 a*b b, ab, aab, aaab, … [xyz]b xb, yb, zb a?b b, ab a+b ab, aab, aaab, … [a-c]x ax, bx, cx [^0-9]x Carácter dígito seguido de x Dx Carácter dígito seguido de x (pa){2}rucha paparucha .abc Cualquier carácter (1) seguido de abc (a|b)+x ax, bx, aax, bbx, abx, bax,... a{1,3}x ax, aax, aaax n Salto de línea p{Lu} Letra mayúscula p{Sc} Símbolo de moneda Jose Emilio Labra Gayo, Universidad de Oviedo
  • 61. Nuevos Atributos Atributo Definición Ejemplo autofocus Indicar <input name=Nombre adquisición autofocus> "focus" list Lista de valores <input list="lista" name="nombre"> sugeridos <datalist id="lista"> <option value="Jose"> <option value="Luis"> </datalist> form Formulario <input name=usuario form="DatosUsr"> formmethod Cambia el valor <input type=submit formenctype correspondiente formnovalidate formaction del elemento formtarget="blank"> formnovalidate form formtarget Jose Emilio Labra Gayo, Universidad de Oviedo
  • 62. Nuevos elementos Atributo Definición Ejemplo meter Medida dentro de un Espacio en disco: rango. <meter value="34" Ej. Espacio en diso, max="100">34%</meter> progress Representa el progreso de Ficheros copiados: una tarea en ejecución <progress value="34" Ej. %datos copiados max="100">34%</progress> output Resultado de una <form computación onsubmit="return false" oninput="o.value = a.valueAsNumber + b.valueAsNumber"> <input name=a type=number step=any> + <input name=b type=number step=any> = <output name=o></output> </form> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 63. Nuevos elementos Atributo Definición Ejemplo menu, Crea un menú con <menu type=toolbar> command comandos <command label="Abrir" onclick="open()"> <command label="Guardar" onclick="save()"> </menu> keygen Genera una clave que <keygen name=clave> puede enviarse en un formulario Jose Emilio Labra Gayo, Universidad de Oviedo
  • 64. Soporte para MathML y SVG HTML5 admite la inclusión directa de MathML y SVG En HTML no es necesario utilizar espacios de nombres MathML = definir fórmulas matemáticas SVG = gráficos vectoriales A diferencia del canvas, los gráficos pueden escalarse El sistema indica elemento a dibujar Jose Emilio Labra Gayo, Universidad de Oviedo
  • 65. Soporte para MathML y SVG Ejemplo <!DOCTYPE html> <title>MathML y SVG</title> <meta charset="UTF-8" > <p> Una ecuación: <math> <mrow><mi>x</mi><mo>=</mo> <msqrt> <mfrac> <mrow><mi>Varianza</mi></mrow> <mrow><mn>2</mn></mrow> </mfrac> </msqrt> </mrow> </math> y un círculo: <svg> <circle r="50" cx="50" cy="50" fill="green"/> </svg> </p> http://www.di.uniovi.es/~labra/cursos/XML/ejemplos/svgMathML.html Jose Emilio Labra Gayo, Universidad de Oviedo
  • 66. Microdatos Enriquecer un documento con valores de un vocabulario Añade metadatos que pueden procesarse automáticamente Objetivo: Facilitar descripción de los contenidos Acercamiento a la Web Semántica Consiste en grupos de parejas nombre/valor Jose Emilio Labra Gayo, Universidad de Oviedo
  • 67. Microdatos Atributo Definición Valores itemscope Contenedor de microdatos Valor booleano itemtype Define tipo de ítems Lista de URIs itemid Identificador del ítem URI itemref Referencia donde se pueden Identificador obtener más datos itemprop Propiedad a definir Nombre de la propiedad a declarar Jose Emilio Labra Gayo, Universidad de Oviedo
  • 68. Microdatos Los valores de la propiedad definida en itemprop dependen del tipo de elemento: Elemento Valor meta Valor de content a, area, link Valor de href audio, embed, video, iframe, Valor de src img, source, track object Valor de data data Valor de value Resto de elementos Contenido textual Jose Emilio Labra Gayo, Universidad de Oviedo
  • 69. Microdatos Ejemplo: <div itemscope itemtype="http://schema.org/Offer" itemid="http://ejemplo.org/Oferta24"> <h1 itemprop="name">Batidora</h1> <p>Precio: <span itemprop="price">19.95€</span> <p itemscope itemprop="reviews" itemtype="http://schema.org/AggregateRating"> Puntuación: <span itemprop="ratingValue">3</span> sobre <span itemprop="bestRating">5</span>. Basado en <span itemprop="ratingCount">25</span> usuarios </p> </div> Jose Emilio Labra Gayo, Universidad de Oviedo
  • 70. Accesibilidad Jose Emilio Labra Gayo, Universidad de Oviedo
  • 71. Accesibilidad y HTML5 WAI-ARIA (Accessible Rich Internet Applications) Define roles para mejorar la accesibilidad Rol Valor banner Cabecera search Búsqueda navigation Navegación main Cuerpo principal contentinfo Información sobre el contenido complementary Contenido complementario application Identifica una aplicación . . . . . . Jose Emilio Labra Gayo, Universidad de Oviedo
  • 72. Fin de la Presentación Jose Emilio Labra Gayo, Universidad de Oviedo