Domanda

Sto costruendo un sito in questo momento, finora ho dolorosamente costretto tutto a essere conforme e sembra praticamente lo stesso su tutti i browser. Tuttavia, sto iniziando a implementare alcuni javascripts di terze parti / gratuiti che fanno cose come aggiungere attributi (es. Ordine = 2). Potrei aggirare questo, ma è una seccatura, e sto iniziando a perdere i miei principi di assicurarsi che tutto sia valido. Davvero, c'è qualche motivo per aggirare qualcosa del genere? Ho ottenuto il plug-in HTMLValidator per Firefox, e guardando la maggior parte dei siti principali (incluso questo, google, ecc.), Non sono XHTML o HTML validi.

È stato utile?

Soluzione

Devo ancora sperimentare un'istanza in cui l'aggiunta di un attributo non standard ha causato un problema di rendering in qualsiasi browser.

Non tentare di aggirare quegli attributi non standard. I validatori sono utili come strumenti per ricontrollare il tuo codice per errori involontari, ma come tutti sappiamo, anche xhtml completamente valido non sarà sempre visualizzato in modo coerente su tutti i browser. Ci sono molte volte in cui le decisioni di progettazione ci richiedono di utilizzare hack specifici del browser (e non standard) per ottenere un effetto. Questa è la vita di uno sviluppatore web, come dimostra il numero di siti di guida tecnologica (google, yahoo, ecc.) Che non convalidano.

Altri suggerimenti

La convalida è utile per determinare quando le cose non riescono a soddisfare gli standard presumibilmente d'accordo. Se stai usando intenzionalmente uno strumento che aggiunge specificamente qualcosa che non rientra negli standard di convalida, ovviamente ciò non infrange il tuo accordo sugli standard personali.

Questa discussione diventa molto più difficile se hai un capo o un cliente che crede che tutto dovrebbe restituire il via libera, poiché dovrai spiegare loro quanto sopra e convincerli che non sei semplicemente pigro.

Detto questo, assicurati che non si tratti semplicemente di essere pigro. Mentre i validatori possono irritare costantemente ogni istanza dell'attributo di terze parti, ciò non invalida (ha) gli altri errori di validazione che stanno citando. Spesso vale la pena scansionarlo come mezzo per ricontrollare il tuo lavoro.

La conformità agli standard consiste nell'aumentare le possibilità che la tua pagina funzioni nei browser per i quali non collaudi. Ciò include gli screen reader e il prossimo aggiornamento dei browser su cui si esegue il test e dei browser su cui si esegue il test ma che sono stati configurati in modo imprevisto dall'utente.

La convalida non ti garantisce nulla, poiché è possibile che la tua pagina venga convalidata ma sia ancora sufficientemente ambigua da non comportarsi come vorresti su un browser un giorno.

Tuttavia, se la tua pagina viene convalidata, hai almeno la forza della specifica XHTML che dice come dovrebbe comportarsi. Se non convalida, tutto ciò che hai è un mucchio di convenzioni informali tra i browser writer.

Probabilmente è meglio scrivere HTML 3 valido che XHTML non valido, se c'è qualcosa che vuoi fare che è consentito in uno ma non nell'altro.

Se stai pensando di sfruttare XHTML come XML, vale la pena rendere le tue pagine valide e ben formate. Altrimenti, il semplice vecchio HTML semantico è probabilmente quello che vuoi tu. Ad ogni modo, le esigenze del tuo pubblico superano quelle di un validatore.

Tieni presente che il tag XHTML viene visualizzato in modo diverso nella maggior parte dei browser rispetto al non averlo. L'attributo DOCTYPE determina in quale modalità viene visualizzato il browser e determina ciò che è e non è consentito. Se ti allontani dalla conformità XHTML, assicurati di ripetere il test in tutti i browser.

Personalmente mi attengo agli standard più recenti ogni volta che è possibile, ma devi sicuramente soppesare tempo / denaro rispetto alla conformità e questo dipende dalle preferenze personali per la maggior parte.

Per quanto riguarda i browser, la conformità XHTML è inutile in questo:

  1. I browser non hanno parser XHTML. Hanno parser HTML non specifici per la versione e compatibili con il web che creano un DOM attorno al http: // www .w3.org / 1999 / xhtml spazio dei nomi.

  2. Alcuni browser con parser XML possono trattare il markup XHTML servito come application / xhtml + xml come XML. Questo richiederà l'XML e darà stile e comportamento HTML predefiniti agli elementi in http: //www.w3. spazio dei nomi org / 1999 / xhtml . Ma, per quanto riguarda l'analisi, non ha nulla a che fare con XHTML. Vengono seguite le regole di analisi XML, non alcune regole DTD XHTML.

Quindi, quando usi il markup XHTML, dai qualcosa di alieno ai browser e vedi se esce come intendi. Il fatto è che puoi farlo con qualsiasi markup. Se esegue il rendering come previsto e produce il DOM corretto, stai andando abbastanza bene. Devi solo assicurarti di tenere a mente il cambio DOCTYPE e assicurarti di non fare affidamento su un bug del browser (quindi le cose non vanno in pezzi nei browser che non hanno il bug).

A cosa serve la conformità XHTML è il controllo della sintassi (convalidando) per vedere se il markup è ben formato. Questo aiuta ad evitare l'analisi dei bug. Naturalmente, questo può essere fatto anche con HTML, quindi in questo caso non c'è nulla di speciale su XHTML. Ad ogni modo, devi ancora testare nei browser e sperare che i venditori di browser realizzino fantastici parser HTML in grado di accettare tutti i tipi di schifezze.

Ciò che non ha senso è cercare di conformarsi a ciò che i browser si aspettano. HTML5 aiuta in questo grande momento. E, parlando di HTML5, puoi definire gli attributi personalizzati tutto ciò che desideri. Basta prefissarli con data-, come in & Lt; p data-order = & Quot; Questo è un attributo valido e personalizzato. & Quot; & Gt; test & Lt; / p gt &;.

Essere HTML valido è di solito un aiuto sia per te che per il motore di rendering del browser. Meno stranezze devono affrontare i browser, più possono concentrarsi sull'aggiunta di nuove funzionalità. Più sei severo, meno tempo passerai a chiederti perché questo tag proprietario f @ # cking non funziona negli altri browser.

D'altra parte, XHTML è, IMHO, più inutile, tranne se si prevede di integrarlo in un documento XML. Dato che IE non lo riconosce ancora, è abbastanza inutile rimanere con.

Penso che scrivere " codice valido " è importante, semplicemente perché stai dando l'esempio seguendo le regole. Se ogni sviluppatore avesse scritto codice per Fx, Safari e Opera, penso che IE dovesse & Quot; iniziare a seguire le regole & Quot; prima della versione 8.

Provo a scrivere codice conforme il più delle volte soppesando il tempo / costo rispetto alle esigenze del pubblico in tutti i casi tranne uno. Laddove il tuo codice deve essere conforme a 503, è nel tuo interesse e nell'interesse del tuo pubblico scrivere codice conforme. Mi sono imbattuto in un gruppo di screen reader che esplodono quando il codice è anche leggermente disattivato.

Come ha detto la maggior parte dei poster, è davvero tutto ciò di cui il tuo pubblico ha bisogno.

Non è assolutamente inutile, ma ci sono molte giustificazioni per romperlo. Durante le fasi iniziali dello sviluppo CSS è molto utile per diagnosticare i problemi del browser se il markup è valido. Oltre a ciò, se vuoi fare qualcosa e ritieni che il metodo più appropriato sia quello di interrompere la convalida, di solito va bene.

Un'alternativa all'utilizzo di attributi personalizzati consiste nell'utilizzare l'attributo 'rel', ad esempio vedere Litebox (e i suoi parenti).

Certo, potresti sempre andare avanti e scriverlo come vuoi, assicurandoti che almeno funzioni. Naturalmente, abbiamo già sofferto di questa mentalità e ne abbiamo assistito all'output, Internet Explorer 6 .

Sono un grande fan di Approccio di Mike Davidson allo sviluppo orientato agli standard .

  

Solo perché puoi validare il tuo codice non & # 8217; significa che sei migliore di chiunque altro. Diamine, non significa nemmeno che tu scriva un codice migliore di chiunque altro. Qualcuno che può scrivere un'applicazione bancaria interamente in Flash è un programmatore migliore di te. Qualcuno che può integrare codice di terze parti in un ambiente di pubblicazione complicato è un programmatore migliore di te. Pensa alla validazione come all'uso della grammatica dell'immagine perfetta; ti aiuta a far passare le tue idee ed è un segno di una buona educazione, ma non è quasi importante quanto le idee e i concetti che pensi e successivamente comunichi. La persona più carismatica e forse la più intelligente per cui io abbia mai lavorato era del Sud e usò la parola & # 8220; ain & # 8217; t & # 8221; abbastanza regolarmente. Non lo rendeva meno intelligente e, in effetti, lo rendeva più memorabile. Quindi tutto ciò che & # 8217; sto dicendo che ci sono molte cose per giudicare qualcuno su & # 8230; la validazione è una di queste, ma sicuramente non la più importante.

Molte persone fraintendono questo post nel senso che non dovremmo codificare secondo gli standard. Dovremmo, ovviamente, ma non è qualcosa a cui dovremmo davvero pensare. L ' esercito di validazione denuncerà sempre quelli che non convalidano, ma la validazione significa molto di più del codice valido.

Quindi, non perdere i tuoi principi, ma ricorda che se segui gli standard avrai molte meno probabilità di finire nel profondo dei problemi in futuro. Il contenuto che stai cercando di fornire è molto più importante di come viene visualizzato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top