Visualizzazione risultati 1 fino 24 di 24

Discussione: Dati strutturati su HTML 4.01 - quali usare?

  1. #1
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito Dati strutturati su HTML 4.01 - quali usare?

    Se uso "HTML Microdata" la pagina non passa la validazione.
    Codice:
    <div itemscope itemtype="http://schema.org/SoftwareApplication"><a href="software-file.zip"><span itemprop="name">Nome software</span> <span itemprop="softwareVersion">1.0</span></a></div>
    Quali "dati strutturati" posso usare sull'HTML 4.01?

  2. #2
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Se vuoi usare microdata, non dichiarare 4.01. Per quello che serve (evitare il quirks mode dei browser) dichiara <!doctype html> e basta.

  3. #3
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    "<!doctype html>" sarebbe per l'HTML 5 ma io uso l'HTML 4.01 Transitional.

    Ho visto che Microformats dovrebbe andare sull'html 4.01 ma non trovo niente che si applichi alle applicazioni software.

    Alternative? (senza passare all'html 5)

  4. #4
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    <!doctype html> è per l'html in generale, che poi di questi tempi capita avere versione 5. La versione 6 avrà di nuovo <!doctype html>. Funziona in Internet Explorer 6 come in Chrome 99.9.9.

    A meno che tu non abbia a che fare con un browser con più di 12 anni, o ti serva produrre xml/xhtml, non c'è buon motivo per usare altro.

    La domanda che ti devi porre è "a cosa serve il doctype?"
    Ultima modifica di dreadnaut : 12-12-2012 alle ore 20.58.58

  5. #5
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    Lo so che funziona lo stesso nei browser ma io voglio che passi la validazione quì: http://validator.w3.org/

    Comunque perché l'HTML 4.01 sia valido richiede il DTD, il fatto che vada lo stesso anche senza non significa che non sia richiesto.
    => http://www.mrwebmaster.it/html/guide...tml5_1331.html
    Come emerge dagli esempi le dichiarazioni dei Doctype in HTML 4.01 ed XHTML richiedevano un rimando ad un DTD poichè il linguaggio era basato su SGML; HTML5 non è implementazione di SGML, quindi non lo richiede.

  6. #6
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da dreadnaut Visualizza messaggio
    La domanda che ti devi porre è "a cosa serve il doctype?"
    Quoto per enfasi. Una volta che hai raggiunto lo scopo del doctype, il resto è inutile contorsionismo.

    Se non passi la validazione con <!doctype html> perché il tuo codice è pieno di accrocchi e <font>, il problema è quello, non la scelta del doctype.

  7. #7
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    Se hai provato il sito http://validator.w3.org/ vedrai che vedendo quel doctype te lo valida come html5 usando "regole" diverse dall'html 4.01

  8. #8
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    A cosa serve il doctype?

  9. #9
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    Per dire al browser come interpretare la pagina, ma i browser di solito sono molto tolleranti agli "errori".
    Questo comunque non significa che vada bene farli.

  10. #10
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,672

    Predefinito

    Ma il doctype html 5 non introduce alcun errore nel validatore: esempio. C'é soltanto un warning che dice che stai usando un doctype sperimentale.

    Ciao!
    Ultima modifica di alemoppo : 12-12-2012 alle ore 22.19.54

  11. #11
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    Per esempio con quel doctype non accetta più il tag <center>.
    Quello posso benissimo rimuoverlo ma è solo un esempio perché ci sono anche altre differenze.

  12. #12
    Guest

    Predefinito

    Ma il tag <center> è un pezzo di antiquariato.

  13. #13
    L'avatar di alemoppo
    alemoppo non è connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    22,672

    Predefinito

    I tag <center>, <font> e altri sono deprecati e non vanno più usati (anche perché non ha senso, visto che c'é il css).

    Molto meglio aver errori w3c ma non usarli, piuttosto che aver la validazione al 100% ma utilizzare quei tag.

    Ciao!

    EDIT: anticipato, ma lascio.

  14. #14
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    Queste cose sono valide per l'HTML 4.01 Transitional, il fatto di utilizzarli o no è una scelta.
    Ma comunque stiamo divagando dal topic originario dove chiedevo specificatamente per l'HTML 4.01 e non per l'HTML 5.

    PS: Alla fine ci sono riuscito utilizzando l'hproduct di microformats, che è un po' generico ma va bene.

  15. #15
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da ale5000 Visualizza messaggio
    Per dire al browser come interpretare la pagina.
    No, il doctype serve solo a dire al browser che stai seguendo uno degli standard, non stai scrivendo codice a caso, e quindi non deve attivare il quirks mode per aggiustare la pagina.

    Il comportamento del browser non cambia se indichi HTML4, 5 o 29, per lui sono tutti uguali. Una volta si pensava che diversi standard sarebbero stati importanti, e perciò era necessario inserire un DTD. Questo si è rivelato poi inutile per documenti HTML, ed è stato eliminato. Come quotavi tu sopra, HTML non è XML. O, per essere precisi, HTML serializzato come text/html non è XML.

    Se poi vuoi andare lungo la strada di text/xhtml, quello è un discorso diverso, ed i browser si comporteranno in modo diverso. (text/xhtml non è XHTML1.0, è normale HTML scritto seguendo le convenzioni XML: tag sempre chiusi, virgolette per gli attributi, etc.)

    Comunque, una volta attivato lo standard mode, il compito del doctype, in un browser moderno, è finito.


    La validazione è un'altra cosa: serve a dirti se un documento html segue le indicazioni di una versione di HTML. Questo non indica in nessun modo che a) il documento sia ben scritto, a parte per la sintassi b) come la pagina verrà visualizzata dai browser. Se la validazione passa, è probabile che venga visualizzata correttamente, ma non è garantito. Se la validazione non passa, ci potrebbero essere dei problemi di sintassi da correggere, ma di nuovo non ci dice nulla su come la pagina verrà visualizzata in un browser.

    Se la validazione ti dice "questo tag non combacia con il doctype," questo non vuol dire che non funzioni una volta inserito. Magari è un errore di validazione, ma la validazione non decide nulla.


    Quindi: il doctype serve ad evitare il quirks mode, la validazione ti da un'idea se ci sono problemi, fine.

    Scrivi codice pulito e corretto, controlla eventuali problemi con il validatore, verifica il funzionamento nei browser.

    Se non hai scritto codice pulito è corretto, aggiustalo. Se il validatore ti avvisa, assicurati che quello che stai facendo non crei problemi. Se funziona nel browser, sei a posto.

    Questo non vuol dire "puoi fare errori, non è un problema." Vuol dire "un errore di validazione va preso come tale."

  16. #16
    L'avatar di saitfainder
    saitfainder non è connesso Sëniör Stäff
    Data registrazione
    06-12-2002
    Residenza
    Torino
    Messaggi
    8,715

    Predefinito

    Il problema nasce tutto dal fatto che HTML 4.01 Transitional è vecchio e nella sua DTD non prevede i Microformats.

    Se proprio vuoi che funzioni dovresti scrivere una tua DTD basata su HTML 4.01, il validatore la passerà, ma non sarebbe comunque standard.

    Usa HTML5 e vai sereno.


    «È una mia peculiarità distorcere la verità e inventarne di nuove.»
    «I tuoi orientamenti hanno su di me un effetto prossimo allo zero.»


  17. #17
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    @saitfainder: I Microformats utilizzano semplicemente l'attributo "class" perciò la validazione passa sempre e ho visto che Google e Bing mi riconoscono i dati strutturati (dalle loro pagine di test) perciò sembra tutto ok.


    @dreadnaut: Anche passando semplicemente da HTML 4.01 Strict a HTML 4.01 Transitional senza cambiare nient'altro la pagina viene mostrata diversamente, nel mio caso c'è solo una piccola differenza nella spaziatura degli elementi ma comunque resta il fatto che non è "esattamente" uguale.

    Io voglio seguire la validazione non perché ho una reale necessità ma semplicemente perché lo voglio fare.
    Ultima modifica di ale5000 : 13-12-2012 alle ore 18.21.05

  18. #18
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Citazione Originalmente inviato da ale5000 Visualizza messaggio
    @dreadnaut: Anche passando semplicemente da HTML 4.01 Strict a HTML 4.01 Transitional senza cambiare nient'altro la pagina viene mostrata diversamente, nel mio caso c'è solo una piccola differenza nella spaziatura degli elementi ma comunque resta il fatto che non è "esattamente" uguale..
    Questo perché usi transitional ed immagini dentro le tabelle, attivando quindi l'almost standard mode.

    Comunque, puoi fare quel che vuoi, ma l'unica giustificazione è davvero "perché ho voglia di farlo." Altrimenti non mi spiego l'esistenza di righe come

    Codice HTML:
    <div><br><br><br><br><br><br><br></div>
    Ultima modifica di dreadnaut : 13-12-2012 alle ore 21.32.38

  19. #19
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    Il sito è li da tanti anni e lo sto aggiornando piano piano solo adesso, quello è solo una scorciatoia temporanea per passare la validazione mentre cambio il sito un po' qua e la.

    Comunque la cosa che non capisco è perché con il transitional l'altezza del
    <div style="position: fixed; left: 10px; bottom: 10px;">
    con le immagini dentro alla fine della pagina si setta correttamente mentre nello strict è più alto di 4px
    Ultima modifica di ale5000 : 13-12-2012 alle ore 22.14.53

  20. #20
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Allora temporaneamente ti converrebbe ignorare la validazione, visto che è irrilevante ed il codice è un guazzabuglio comunque.

    Il <div> che menzioni mi appare identico con strict e transitional, almeno su firefox e chrome. L'unico elemento che noto cambiare dimensioni è la tabella in alto, con la stellina ed il link per aggiungere ai preferiti, che ricade nell'almost standard mode che menzionavo sopra.

  21. #21
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    Nell'ultima versione di Opera con strict l'altezza del div è 19px, invece con transitional è 15px (quello che volevo, senza specificare manualmente l'altezza del div).

    E non capisco perché.

  22. #22
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    Sarà spazio dovuto alla testo-sità delle immagini. Prova a dargli display: block.

  23. #23
    ale5000 non è connesso Utente giovane
    Data registrazione
    31-10-2003
    Residenza
    Italia
    Messaggi
    49

    Predefinito

    Mettendo "display: block;" sull'immagine risolve il problema dello spazio sotto in eccesso ma fa andare a capo dopo l'immagine che non è quello che mi serve.

  24. #24
    L'avatar di dreadnaut
    dreadnaut non è connesso Super Moderatore
    Data registrazione
    22-02-2004
    Messaggi
    6,306

    Predefinito

    C'è inline-block, e nel caso specifico dovrebbe andare anche in IE6-7.

    http://caniuse.com/inline-block
    Ultima modifica di dreadnaut : 14-12-2012 alle ore 01.02.30

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •