Organize the code of the website more to help assistive technologies, search engines, and mobile devices.
What is the feature you are suggesting to help solve it?
Reorganization of the code. I will provide more information below.
What is the processing model for that feature, including error handling?
Information provided below.
Why do you think browsers would implement this feature?
It could add addition options for browsers. For example, the UA could provide internal links to the menu, content, and footer.
Why do you think authors would use this feature?
Many authors already use this feature, but with class or ID names and comments.
What evidence is there that this feature is desperately needed?
There is no set standard on the web as to how to classify the menu, content, and footer information. When I first began designing, when I saw that <head> and <body> were tags in HTML, I automatically assumed <footer> was another tag. As you all know, that is not true.
Although this would be a nice feature, many sites have menus on the side rather than the top, so predefined IDs or class names may be the only way to achieve what I'm aiming for.
Also, due to backward-compatibility that (X)HTML 5 is aiming for, this could not be able to be implemented for a few versions.
Note: The names aren't what I would consider final. In my mind, they make the most sense, but that is just my opinion.
- Code: Select all
<html>
<presentation>
<style>
<link href="/style.css" type="text/css" media="screen">
</style>
<script>
<link href="/script.js" type="text/javascript" media="screen">
</script>
<info>
<link href="http://www.somesite.com/" type="author/designer">
<link href="http://www.someothersite.com/" type="author/programmer">
</info>
</presentation>
<structure>
<head>
</head>
<menu>
</menu>
<body>
</body>
<footer>
</footer>
</structure>
</html>
Presentation: This section would not be visible by the user. It would include all information now included in the <head>. Some information that may be included here would be any CSS, Javascript, or Meta information. This tag is required. Loading should cancel and fail if not present.
Presentation > Style: All styling information will be provided here via <link>. This tag is optional, but required if any <link type="text/css">[i] are present.
Presentation > Script: All scripting information will be provided here via [i]<link>. This tag is optional, but required if any <link type="text/javascript">[i] are present.
Presentation > Info: All additional information will be provided here via [i]<link>. This tag is optional, but required if any <link type="author/?">[i] are present.
Structure: Any and all structure information would go here (now provided in the [i]<body>.This tag is required. Loading should cancel and fail if not present.
Structure > Head: This could be left empty and simply use CSS to declare a background image (a header image for example?). Another possibility would to have an image appear here, or a title. This would just be the place to put Information normally put into <div id="header"> and other such tags. It would be a block-level element and required by default and should fail if not present.
Structure > Menu: The <menu> could be placed in the <body>, <head>, between the <body> and <head>, or above the <head>. This tag would be optional, but recommended. Possibly use <nl> instead of <menu>. If a navigation list is provided, this tag must be used for it (main navigation only). It would be a block-level element by default.
Structure > Body: The main content of the page would appear here. This includes everything excluding the header, menu, and footer. It would be a block-level element and required by default and should fail if not present.
Structure > Footer: Copyright, author, privacy policy & ToS links, and other such footer information would be provided here. It would be a block-level element and required by default and should fail if not present.
I understand it would be impossible to enable anything like this now, but the purpose of this is to organize the web, so I believe it would be a good idea to have something to work towards. Going step-by-step is fine, but if there is no ending goal, then what are we going towards?