PDA

Visualizza Versione Completa : Discussione HTML generato da iWeb



simo2409
16-01-06, 19:29
Non ho provato iWeb ma guardando il codice che genera Apple ha fatto veramente un tonfo.

Lasciando perdere il programma (non avendolo provato come potrei giudicare :D ), il codice generato è davvero deludente, ricorda FrontPage prime versioni, un esempio è che per i paragrafi utilizza <div class="paragraph Body"> invece del tag

.

Dato che iWeb è nato con l'intento di permettere a più persone possibile avere una 'vetrina' su internet sarebbe stato carino che tale vetrina fosse aderente ai requisiti qualitativi minimi (ovvero aderenza agli standard w3c).

Anche perchè siti 'scritti' in questo modo praticamente sono una porta in faccia a chi utilizza device 'particolari' (per ipovedenti & simili).

Speriamo che sia solo un problema di giovinezza :)

gnombyX
16-01-06, 23:03
ma iweb e' in grado di modificare un html scritto da un altro programma? :roll:

TheCube
16-01-06, 23:07
ricorda FrontPage prime versioni, un esempio è che per i paragrafi utilizza <div class="paragraph Body"> invece del tag

.

Guarda che è prassi normale, normalissima direi, per consentire una formattazione ad-hoc (CSS docet) di testo et similia.
E, aggiungo, il tutto (intendo il DIV con un CLASS) è perfettamente W3C compliant. Da anni.

simo2409
16-01-06, 23:28
Esistendo il tag

per indicare il paragrafo è concettualmente sbagliato utilizzare un <div>.

E' come se per fare una tabella facessi tanti <div> quando esiste <table>, i tag non sono stati fatti a caso, hanno una precisa funzione :)

Che poi anche il div funzioni è un altro paio di maniche ... come in tutte le cose ci sono vari modi di farle ... ma solo uno è quello giusto :)

TheCube
16-01-06, 23:37
Esistendo il tag

per indicare il paragrafo è concettualmente sbagliato utilizzare un <div>.

E' come se per fare una tabella facessi tanti <div> quando esiste <table>, i tag non sono stati fatti a caso, hanno una precisa funzione :)

Che poi anche il div funzioni è un altro paio di maniche ... come in tutte le cose ci sono vari modi di farle ... ma solo uno è quello giusto :)
C'hai ragione, ma non è fuori standard utilizzare un DIV per la formattazione di un paragrafo, ovvero è compatibile con W3C e infatti qualsiasi browser serio (e questo esclude a volte IE...) lo accetta senza problemi.
Esistono anche H1, H2 e via dicendo, ma non li usa più nessuno con l'avvento dei CSS... Stessa sorte per tag "inutili" come

.
Il discorso <TABLE> è radicalmente diverso a mio avviso, infatti le tabelle sono molto più evolute come strumento di layout rispetto al triste tag

e conservano ancor'oggi dignità di esistere. :D

simo2409
16-01-06, 23:47
Scusa ma è sbagliato, non è vero che nessuno più usa <h1> <h2> ecc, chi vuole fare siti internet bene (e con bene intendo che siano formalmente 'giusti') deve utilizzarli (come dice il w3c).
I tag <h1> ...

... <a> e compagnia bella non vanno annullati solamente perchè sono sostituibili da un <div> o da uno <span>.

Anche i <table> per formare il layout è un grave errore, il tag <table> è stato fatto epr identificare una tabella all'interno della pagina, non per fare l'allineamento della stessa (a quello servono determinati attributi nei css).

Non puoi ignorare la semantica della pagina. Una volta anche io ragionavo come fai tu ma mi sono reso conto che è 'sbagliato', non praticamente (perchè il risultato è lo stesso) ma razionalmente lo è.

I tag

<h1> ecc non vanno considerati come tag che ti 'rendono a video' in un certo modo, ma vanno considerati come marcatori di parti del documento.
Il titolo della mia pagina va tassativamente messo in un <hqualcosa> non perchè <hqualcosa> mi renda la scritta più grossa ma perchè quel certo tag indica che il testo contenuto rappresenta logicamente il titolo della pagina.

La questione di come renda a video poi è definibile coi css, ma questo non vuol dire che il documento html possa essere non strutturato.

Scusa se insisto su questo punto ma è fondamentale per capire il ruolo dell'html come 'struttura' della pagina e (come hai detto tu) il css a cui viene delegato l'aspetto a video.

TheCube
16-01-06, 23:55
Scusa se insisto su questo punto ma è fondamentale per capire il ruolo dell'html come 'struttura' della pagina e (come hai detto tu) il css a cui viene delegato l'aspetto a video.
Ultima replica poi basta, perchè secondo me stiamo annoiando qualcuno... (e siamo OT di brutto):
tu parli di struttura, di definizione del ruolo dei contenuti e del significato ad essi relativo dei tag HTML.
Hai ragione, peccato che sono concetti che appartengono a linguaggi di markup come XML, che infatti non si curano minimamente dell'aspetto estetico dei tag (il grassetto superdotato dell'H1), ma definiscono ruolo e significato dei contenuti associati ai tag stessi.
HTML è vecchio come strumento di formattazione/layout ed è superato infatti dai CSS (nati eoni dopo il tag

e <H1>, proprio per superarne gli evidenti limiti espressivi), ed è (sempre stato) inadeguato come linguaggio di "strutturazione" delle informazioni, soppiantato alla grande da XML e varianti specializzate.
Nessuno oggi definerebbe dei contenuti in HTML traguardando la definizione strutturale degli stessi.
Qui io chiudo perchè non mi sto capendo più nemmeno da solo.... :lol:

simo2409
17-01-06, 00:03
Ultima replica anche per me poi basta OT :P

Lo stesso w3c definisce l'html come struttura della pagina, l'aspetto estetico dei singoli tag non va minimamente considerato per decidere 'quali usare' perchè l'aspetto è delegato ai css. Se vuoi che un tag <h1> esteticamente sia come un >b< (fatto così per problemi col bbcode) puoi farlo (con i css) quindi non ha senso scegliere <h1> solo perchè vuoi il testo grosso.

Per quanto riguarda l'xml hai ragione, ma l'html (e l'xhtml) non sono altro che xml con il loro buon DTD :)

Considera l'html come un xml con dei css di default :)

Se guardi su google (e sul sito del w3c) vedrai che l'html deve definire la struttura della pagina mentre i css l'estetica.

Se utilizzi i tag errati il sito potrà anche avere l'aspetto corretto e molto probabilmente verrà validato ... ma sarà comunque sbagliato perchè non rispondende alle caratteristiche del w3c, il quale raccomanda la separazione html (struttura) e css (aspetto).

Grazie per la chiacchierata, è sempre piacevole parlare civilmente di cose interessanti :D

alex
17-01-06, 12:36
Grazie per la chiacchierata, è sempre piacevole parlare civilmente di cose interessanti
E' un peccato chiuderla qui, perchè la diatriba non è affatto noiosa, ma è solamente un po' troppo "avanzata" per le mie conoscenze.

iWeb non si rivolge certo a voi, ma sarebbe interessante capire se il "difetto" rilevato da simo introduca davvero un rischio di cattiva visualizzazione nel mondo reale.

simo2409
17-01-06, 23:44
dato che hanno inneggiato tutti a splittare il thread rispondo :P


iWeb non si rivolge certo a voi, ma sarebbe interessante capire se il "difetto" rilevato da simo introduca davvero un rischio di cattiva visualizzazione nel mondo reale.

Per quanto riguarda la mera 'visualizzazione' della pagina il risultato è identico.
La grossa differenza tra il metodo che dico io e quello di TheCube è che a lui interessa che la pagina venga visualizzata correttamente, mentre io guardo che la parte struttura (html) sia separata da quella estetica (css).

Se si ha un titolo nella pagina va utilizzato il tag <h1> (che appunto rappresenta un titolo) non uno <span style="font-size: 20px;"> (che potrebbe essere uno spezzone qualsiasi di testo grosso).

E' sottile come differenza ma è molto importante :)

TheCube
17-01-06, 23:49
La grossa differenza tra il metodo che dico io e quello di TheCube è che a lui interessa che la pagina venga visualizzata correttamente, mentre io guardo che la parte struttura (html) sia separata da quella estetica (css).

Diamo battaglia per il pubblico :lol:
Se vuoi separare contenuti (dati) da estetica (presentation), scordati l'HTML e vai direttamente (senza passare per il "Via") a XML e DTD, quella è vera separazione, l'HTML no... Prova a presentare du due dispositivi diversi lo stesso file HTML, con risultati idonei a ciascun dispositivo e di conseguenza con una presentation diversa...

Cosa non si fa per l'audience, giusto? :wink:

simo2409
17-01-06, 23:56
Ma l'html è xml col suo buon DTD :)

Semplicemente devi dimenticarti che i tag hanno un loro 'css' di default ... e vedrai il file html come un file xml (infatti le regole sono le medesime) :)

TheCube
18-01-06, 00:11
Ma l'html è xml col suo buon DTD :)

Semplicemente devi dimenticarti che i tag hanno un loro 'css' di default ... e vedrai il file html come un file xml (infatti le regole sono le medesime) :)
Ehm... HTML non è nato qualche annetto prima di XML, DTD e compagnia bella?
Difficile fare il rendering di un HTML in modo mirato a secondo del target a cui è destinata, dato che, in teoria, un browser, ovunque sia implementato, dovrebbe rendere il layout alla stessa maniera.
Non puoi separare l'HTML dal suo "DTD", ne convieni?
(oh, io adesso stacco causa sonno, se ti viene in mente qualche altro argomento fammi un fischio che mi preparo...) :wink:

maina
18-01-06, 00:24
...non ci ho capito una mazza, ma è stato lo stesso bellissimo leggervi... :lol: :lol:

simo2409
18-01-06, 00:24
Non puoi separare l'HTML dal suo "DTD", ne convieni?

Il file xml (generico) non è mai separato dal suo dtd, il dtd definisce come il file xml deve essere strutturato :)

L'html è nato prima dell'xml ma se guardi una pagina html corretta ha al suo interno il dtd (uno dei seguenti tre):

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN"
"http://www.w3.org/TR/html4/frameset.dtd">
Proprio perchè l'html oggi E' xml :)


Difficile fare il rendering di un HTML in modo mirato a secondo del target a cui è destinata, dato che, in teoria, un browser, ovunque sia implementato, dovrebbe rendere il layout alla stessa maniera.

Ma infatti quando scrivi la pagina html non dovresti preoccuparti di come uscirà la pagina sul dispositivo, l'importante è che 'marchi' il titolo con il tag <h1> in modo tale che poi il dispositivo (browser 'classico, palmare, cellulare, ecc) possa farne il rendering come più preferisce. Se invece per il titolo fai <span style="font-size: 20px"> lo vedrai uguale in firefox (ad esempio) ma lo vedrai gigante in un palmare o in un cellulare.

Buona notte :)

TheCube
18-01-06, 00:37
Difficile fare il rendering di un HTML in modo mirato a secondo del target a cui è destinata, dato che, in teoria, un browser, ovunque sia implementato, dovrebbe rendere il layout alla stessa maniera.

Ma infatti quando scrivi la pagina html non dovresti preoccuparti di come uscirà la pagina sul dispositivo, l'importante è che 'marchi' il titolo con il tag <h1> in modo tale che poi il dispositivo (browser 'classico, palmare, cellulare, ecc) possa farne il rendering come più preferisce. Se invece per il titolo fai <span style="font-size: 20px"> lo vedrai uguale in firefox (ad esempio) ma lo vedrai gigante in un palmare o in un cellulare.

Buona notte :)
Quello che intendo io è diverso... Ovvero alludo alla possibilità di presentare le stesse informazioni (contenute nell'XML) in modo diverso a seconda dei dispositivi a cui sono indirizzate, cosa che HTML NON può fare...
A te invio un pagina HTML, a te una mail, a te un SMS... Prova a farlo con HTML... Ti arriverà una bella mail con dentro il tuo <H1> con il quale puoi anche farci la birra (bevanda a me molto gradita...).
Giuro, adesso stacc...

simo2409
18-01-06, 00:49
Stiamo uscendo dal seminato :)
Stavamo parlando se usare i tag html o solo i css :)

Ma comunque sia anche xml necessita di css (o xsl) per quanto riguarda l'aspetto estetico e anche l'html permette di definire diversi css a seconda del media che si utilizza (questo css per il video, questo per la stampa, e così via).

TheCube
18-01-06, 10:05
Stiamo uscendo dal seminato :)
Stavamo parlando se usare i tag html o solo i css :)

Ma comunque sia anche xml necessita di css (o xsl) per quanto riguarda l'aspetto estetico e anche l'html permette di definire diversi css a seconda del media che si utilizza (questo css per il video, questo per la stampa, e così via).
E c'hai ragione pure tu... :D :wink:
Sono troppo vecchio per questo cose, mi sa che torno al Cobol :lol:

Hartz
18-01-06, 17:28
...non ci ho capito una mazza, ma è stato lo stesso bellissimo leggervi... :lol: :lol:

Grande Maina!

Allora non mi sento più solo… :lol: :lol:


:da ********* addosso:


:vecchietto:

kphigo
18-01-06, 21:05
Stiamo uscendo dal seminato :)
Stavamo parlando se usare i tag html o solo i css :)

Ma comunque sia anche xml necessita di css (o xsl) per quanto riguarda l'aspetto estetico e anche l'html permette di definire diversi css a seconda del media che si utilizza (questo css per il video, questo per la stampa, e così via).

sono perfettamente d'accordo con simo... penso che dividere il contenuto dall'aspetto prettamente presentazionale non sia una cosa da sottovalutare...
immaginiamo di fare un portale di media-grande dimensione ed interesse.
non possiamo sapere con quali device si farà accesso a tali pagine...
potrebbe essere un browser (nel senso più stretto del termine come tutti siamo soliti immaginare un browser tipo safari, firefox, camino, IE, opera ecc ecc.) ma potremmo anche registrare accessi provenienti da device diversi come palmari, cellulari, smartphone...
a questo punto potremmo fare una pagina, come propone tc in cui contenuti e presentazione (quella grafica per intenderci) sono strettamente legati perchè scritti sullo stesso file html.
altra soluzione... contenuto nella pagine html, i caratteri presentazionali in css diversi in modo che ad ogni device sia associato la propria pagina di stile...
cosi potremmo coprire facilmente anche browser più sofisticati (come quelli per nn vedenti)
inoltre... tc, come visualizzerei pagine immerse di tag quali span, div ecc ecc su un browser solo testuale tipo lynx?!
questo è un caso limite, d'accordo...


p.s.: il post non vuole essere una provocazione, solo un tentativo di aprire il 3d a una discussione comune!

peciot
18-01-06, 21:19
mooooolto interessante come discussione, abbiamo (ho :lol:) fatto bene a splittare! :)

TheCube
18-01-06, 21:42
a questo punto potremmo fare una pagina, come propone tc in cui contenuti e presentazione (quella grafica per intenderci) sono strettamente legati perchè scritti sullo stesso file html.

Mai detta una cosa del genere, dove l'hai letta???


inoltre... tc, come visualizzerei pagine immerse di tag quali span, div ecc ecc su un browser solo testuale tipo lynx?!
questo è un caso limite, d'accordo...

Su questo hai pienamente ragione!
Comunque la questione verteva sulla legittimità o meno dell'uso dei DIV in luogo dei più tradizionali tag di layout (e di formattazione, volente o nolente) propri dell'HTML classico.
Sulla separazione contenuti vs presentation leggi bene, io e Simo non siamo in disaccordo (beh, non totale almeno...) :wink:

simo2409
18-01-06, 22:40
Oltre a 'casi limite' è sempre una buona regola separare la struttura (html) dall'aspetto (css) in quanto permette di avere incrementi prestazionali non indifferenti.
Prendiamo una pagina con 100 paragrafi, se utilizziamo le <table> per il layout avremo come minimo 100:

<tr><td>Paragrafo</td></tr>

che sono 18 caratteri di tag

contro



Paragrafo</p>

che sono 7, quindi nel nostro caso avremmo risparmiato 11 caratteri x 100 = 1100 caratteri in meno ... facciamo codifica unicode (UTF8 = 8 bit per carattere) quindi sono circa 8 kb risparmiati considerando solo i paragrafi.

Immaginate ora un titolo tipo:

<span class="titoli" id="titolo1">...</span>

sono 41 caratteri contro:

<h1>...</h1>

che son 9 :)

Lasciamo perdere poi se utilizzo i css in-line ... tipo:

<span style="font-family: "times new roman"; font-size: 0.8em; font-weight: normal; color: #ff0011;">...</span>

che andrebbe ripetuto per ogni titolo ... ma qui si sfocia nel pessimo sviluppo :)

***update***
rileggendo mi son reso conto di aver mescolato un pò (causa interruzione cena) ... non cancello dato che comunque son cose inerenti e secondo me giuste :P
***

kphigo
18-01-06, 23:50
a questo punto potremmo fare una pagina, come propone tc in cui contenuti e presentazione (quella grafica per intenderci) sono strettamente legati perchè scritti sullo stesso file html.

Mai detta una cosa del genere, dove l'hai letta???

scusa... su questo hai ragione... non è scritto espressamente ma mi sembrava di aver capito cosi... mi scuso se sono stato io a capire male...




inoltre... tc, come visualizzerei pagine immerse di tag quali span, div ecc ecc su un browser solo testuale tipo lynx?!
questo è un caso limite, d'accordo...

Su questo hai pienamente ragione!
Comunque la questione verteva sulla legittimità o meno dell'uso dei DIV in luogo dei più tradizionali tag di layout (e di formattazione, volente o nolente) propri dell'HTML classico.
Sulla separazione contenuti vs presentation leggi bene, io e Simo non siamo in disaccordo (beh, non totale almeno...) :wink:

mhhhh scusate se dico una fregnaccia... e cercherò documentazione in merito... ma i tag html puramente di layout/formattazione/markup sono sì conformi al w3c ma cmq deprecati dallo stesso w3c o sbaglio?!?! :???:
ricordo male?! 8)

simo2409
18-01-06, 23:55
Non proprio tutti ... ma granparte di quelli puramente estetici si :)

Kratork
19-01-06, 00:00
inoltre... tc, come visualizzerei pagine immerse di tag quali span, div ecc ecc su un browser solo testuale tipo lynx?!
questo è un caso limite, d'accordo...



ehehe basta provare , navigare con lynx è assai interessante ;)

lo uso spesso,
quando ho una connessione particolarmente pessima o stò scaricando qualcosa...
56krulez 8)

kphigo
19-01-06, 00:05
ricordavo bene...

dal sito del w3c: http://www.w3.org/TR/1998/REC-html40-19980424/cover.html

2.3.5 Style sheets

Style sheets simplify HTML markup and largely relieve HTML of the responsibilities of presentation. They give both authors and users control over the presentation of documents -- font information, alignment, colors, etc.

Style information can be specified for individual elements or groups of elements. Style information may be specified in an HTML document or in external style sheets.

The mechanisms for associating a style sheet with a document is independent of the style sheet language.

Before the advent of style sheets, authors had limited control over rendering. HTML 3.2 included a number of attributes and elements offering control over alignment, font size, and text color. Authors also exploited tables and images as a means for laying out pages. The relatively long time it takes for users to upgrade their browsers means that these features will continue to be used for some time. However, since style sheets offer more powerful presentation mechanisms, the World Wide Web Consortium will eventually phase out many of HTML's presentation elements and attributes. Throughout the specification elements and attributes at risk are marked as "deprecated". They are accompanied by examples of how to achieve the same effects with other elements or style sheets.

simo2409
19-01-06, 00:11
Non tutti, infatti alcuni di essi (come il bold) hanno un valore oltre che estetico anche semantico ... e quindi sono stati mantenuti :)

macDavid
20-01-06, 10:12
molto interessante...molto. il corretto codice senza sporcizie varie e' importante per molte ragioni. una delle quali e' per correggerlo manualmente (pochi lo fanno...) quindi avere un certo ordine in quello che si sta leggendo..ordine e chiarezza.
Ricordo quando usavo le prime volte dreamweaver...ogni volta che facevo qualcosa sul layout dovevo sempre ritoccare l'html :evil: oppure cuando salvavo al riaprirlo o al pubblicarlo mi sporcava sempre html!!! dreamweaver del miei stivali :x quante me ne ha fatte passare.
alla fine ho capito che possono inventare anche il miglior editing semplificato al massimo per il web...ma una controllatina a tutto il codice fa sempre bene..riga per riga. :wink:

simo2409
20-01-06, 18:36
Io preferisco un approccio più 'cattivo', diffido completamente da qualsiasi programma e faccio il tutto da Textmate a manina :)

Impiego di più ma son sicuro di quello che c'è dentro :)