New account landing page is not valid XHTML

I was quickly editing the account template for a new website I am making to give it a logo and “coming soon” message. I noticed a few XHTML errors in the default template (/home/interworx/etc/skel/index.html).

These bugs are based on the document type being defined as XHTML 1.1 Strict, which would make a very big difference to visitors if the proper content type were being served by Apache (web browsers seem to ignore the DOCTYPE most of the time).

  1. The title node has a “&” that should be “&”
  2. The logo image node is not closed (<img> should be <img/>).
  3. The logo image node does not have an “alt” attribute, which the XHTML 1.1 Strict DTD requires. The W3C Validator found that one, not me… :wink:

Since I guess it is possible my NodeWorx template is just from an older version, here is the one my setup came with:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN" "http://www.w3.org/TR/x
html1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Test Page for ::DOMAIN:: & InterWorx-CP</title>
    <style type="text/css">
      /*<![CDATA[*/

     /***********************************************/
     /* Properties of general/common page elements. */
     /***********************************************/

     body, div, td {
       font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
       font-size: 11px;
       line-height: 1.5;
       color: #666;
       margin: 20px 0px 7px 0px;
       padding: 0px;
     }
     th {
       font-family: Verdana, Geneva, Arial, Helvetica, sans-serif;
       font-size: 12px;
       line-height: 1.5;
       color: #616161;
       background-color: #F1F1F1;
     }
     img {
       border: 0;
       border-bottom-style: none;
       background: transparent;
     }
     p {
       text-align: justify;
       line-height: 1.5;
       margin: 5px 4px 10px 10px;
     }
     pre {
       margin: 5px 20px 10px 10px;
     }

     h1 {
       font-size: 1.25em;
       font-weight: bold;
       text-align: left;
       margin: 2px 20px 5px 10px;
     }
     h2 {
       font-size: 1.1em;
       font-weight: bold;
       text-align: left;
       text-transform: uppercase;
       margin: 2px 5px -2px 10px;
     }
     h3 {
       color: #555;
       font-size: 12px;
       font-weight: bold;
       text-align: left;
       padding: 5px 0;
       margin: -2px 0 -2px 0;
     }
     h4 {
       font-size: 1.1em;
       font-weight: bold;
       text-align: left;
       text-transform: uppercase;
     }
     ul {
       margin-top: -0.35em;
       margin-bottom: 1em;
     }
     ol {
       margin-top: 0;
       margin-bottom: 10px;
     }
     ul li, ol {
       text-align: justify;
     }

     /*******************************************/
     /* General links in content of every page. */
     /*******************************************/

     a:link {
       color: #06c;
       text-decoration: none;
       padding-bottom: 0;
       border-bottom: 1px solid #ccc;
     }
     a:visited {
       color: #06c;
       text-decoration: none;
       padding-bottom: 0;
       border-bottom: 1px solid #ccc;
     }
     a:hover {
       color: #ccc;
       text-decoration: none;
       padding-bottom: 0;
       border-bottom: 1px solid #ccc;
     }
     a:active {
       color: #f60;
       text-decoration: none;
       padding-bottom: 0;
       border-bottom: 1px solid #ccc;
     }

     /******************************/
     /* Columnar output formatting */
     /******************************/

     .content {
       width: 60%;
       background-color: #F3F3F3;
       border: 1px solid #999;
       margin: 0px auto;
     }
     .buttons {
       background-color: #FFF;
       margin: 0px auto;
     }

      /*]]>*/
    </style>
  </head>
  <body>

    <div align="center">
      <a href="http://interworx.info/"><img src="interworx_logo.gif"></a>
    </div>
    <table class="content">
      <tr>
        <td>
          <h2>Welcome!</h2>
          <p>
            This page is used to test the proper operation of
            the new SiteWorx account setup for ::DOMAIN::.  If you
            see this page then it works!
          </p>
        </td>
      </tr>
      <tr>
        <td>
          <h2>If you are the site owner</h2>
          <p>
            Login to InterWorx-CP by navigating to the
            <a href="https://::DOMAIN:::2443/siteworx/">SiteWorx Login Page</a>.  This page's full URL is as follows:
          </p>
          <p>
            <a href="https://::DOMAIN:::2443/siteworx/">https://::DOMAIN:::2443/siteworx/</a>
          </p>
          <p>
            You'll want to bookmark that login page so you can easily
            find it again.  You can also reach SiteWorx by appending /siteworx
            to your domain as a shortcut (e.g. http://::DOMAIN::/siteworx)
          </p>
          <p>
            Once you are logged into SiteWorx you will be able to
            manage all aspects of your web hosting account.  If you need
            more help publishing your site or using SiteWorx feel free to
            use the library of
            <a href="http://interworx.info/iworx-cp/support/tutorials/#siteworx">SiteWorx Tutorials</a>.  You may also want to signup for the
            <a href="http://interworx.info/forums/">InterWorx-CP Forums</a>
            to interact with other SiteWorx users.
          </p>
        </td>
      </tr>
      <tr>
        <td>
          <h2>If you are a visitor</h2>
          <p>
            You've reached ::DOMAIN:: which is a new web hosting
            account.  Check back soon for updates to this site!
          </p>
        </td>
      </tr>
    </table>

  </body>
</html>

Thanks a ton jimp, it’s valid now :).

Chris