Codice di output dello script trasformazione 2, come visibile nell’esempio online:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML lang="it">
<HEAD>
<TITLE>bbs</TITLE>
</HEAD>
<BODY BGCOLOR="#FFFFFF">
<p><a href="http://bobby.watchfire.com/bobby/bobbyServlet?URL=http://www.protty.net/trasformazione2.php" target="blank">Bobby</a>
| La trasformazione di pagine dinamiche, WA </p>
<p>
<H1>BBS</H1>
<H2>il codice nella versione AA</H2>
<UL>
<LI>(2003-02-15 16:47:29) <A HREF="bbs_source.php?messageID=2">codice originario</A><BR>
<UL>
</UL>
</UL>
<FORM ACTION="bbs.php" METHOD="post">
<INPUT TYPE="hidden" NAME="inputParent" VALUE="0"><INPUT TYPE="hidden" NAME="ACTION" VALUE="POST"><TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5">
<TR><TD><LABEL FOR="oggetto"><B>Oggetto</B></LABEL></TD><TD><INPUT TYPE="text" NAME="inputTitle" SIZE="35" id="oggetto"></TD></TR>
<TR><TD><LABEL FOR="poster"><B>Poster</B></LABEL></TD><TD><INPUT TYPE="text" NAME="inputPoster" SIZE="35" id="poster"></TD></TR>
<TR><TD><LABEL FOR="messaggio"><b>Messaggio</b></LABEL></td><td><TEXTAREA NAME="inputBody" COLS="45" ROWS="5" id="messaggio"></TEXTAREA></TD></TR>
<TR><TD COLSPAN="2"><CENTER><INPUT TYPE="submit" VALUE="Invia"></CENTER></TD></TR>
</TABLE>
</FORM>
</p>
<p>&nbsp;</p>
<p>script di Leon Atkinson</p>
</BODY>
</HTML>


Manca l’attributo “summary” del tag <table>. Dobbiamo intervenire nel sorgente per generare in output il summary nella tabella.

Ecco le linee da modificare, tratte dal sorgente trasformazione 2:

function postForm($parentID, $useTitle)
{
printf("<FORM ACTION="bbs.php" METHOD="post">n");
printf("<INPUT TYPE="hidden" NAME="inputParent" VALUE="$parentID">");
printf("<INPUT TYPE="hidden" NAME="ACTION" VALUE="POST">");
printf("<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5">n");
printf("<TR><TD><LABEL FOR="oggetto"><B>Oggetto</B></LABEL></TD>");
printf("<TD><INPUT TYPE="text" NAME="inputTitle" SIZE="35" id="oggetto"></TD></TR>n");
printf("<TR><TD><LABEL FOR="poster"><B>Poster</B></LABEL></TD>");
printf("<TD><INPUT TYPE="text" NAME="inputPoster" SIZE="35" id="poster"></TD></TR>n");
printf("<TR><TD><LABEL FOR="messaggio"><b>Messaggio</b></LABEL></td>");
printf("<td><TEXTAREA NAME="inputBody" COLS="45" ROWS="5" id="messaggio"></TEXTAREA></TD></TR>n");
printf("<TR><TD COLSPAN="2"><CENTER><INPUT TYPE="submit" VALUE="Invia"></CENTER></TD></TR>n");
printf("</TABLE>n");
printf("</FORM>n");
}


Ecco le stesse linee corrette:

function postForm($parentID, $useTitle)
{
printf("<FORM ACTION="bbs.php" METHOD="post">n");
printf("<INPUT TYPE="hidden" NAME="inputParent" VALUE="$parentID">");
printf("<INPUT TYPE="hidden" NAME="ACTION" VALUE="POST">");
printf("<TABLE BORDER="1" CELLSPACING="0" CELLPADDING="5" summary="Tabella per inserire i post">n");
printf("<TR><TD><LABEL FOR="oggetto"><B>Oggetto</B></LABEL></TD>");
printf("<TD><INPUT TYPE="text" NAME="inputTitle" SIZE="35" id="oggetto"></TD></TR>n");
printf("<TR><TD><LABEL FOR="poster"><B>Poster</B></LABEL></TD>");
printf("<TD><INPUT TYPE="text" NAME="inputPoster" SIZE="35" id="poster"></TD></TR>n");
printf("<TR><TD><LABEL FOR="messaggio"><b>Messaggio</b></LABEL></td>");
printf("<td><TEXTAREA NAME="inputBody" COLS="45" ROWS="5" id="messaggio"></TEXTAREA></TD></TR>n");
printf("<TR><TD COLSPAN="2"><CENTER><INPUT TYPE="submit" VALUE="Invia"></CENTER></TD></TR>n");
printf("</TABLE>n");
printf("</FORM>n");
}


Proviamo a validare la pagina, otteniamo il seguente risultato:

Priority 3 accessibility errors found:

  • Include default, place-holding characters in edit boxes and text areas. (3 instances) >>> quarta trasformazione
    Lines 18, 19, 20

Visualizza l’esempio online dopo la terza trasformazione.

Il primo problema priorità 3 è stato risolto. Resta 1 errore. >>> continua con la quarta trasformazione