From W3C Wiki
Jump to: navigation, search

Common User Agent Problems

CUAP explains some common mistakes in user agents due to incorrect or incomplete implementation of specifications, and suggests remedies. It also suggests some "good behavior" where specifications themselves do not specify any particular behavior (e.g., in the face of error conditions). This document is not a complete set of guidelines for good user agent behavior.


We plan to republish this document under the umbrella of W3C QA IG. The decision has been taken at the W3C Technical Plenary on March 2006 at Cannes Mandelieu: CUAP and CHIPs


  • Mapping from CUAP to Web Architecture document
  • Template for reformatting the "guidelines"
  • Reorganizing the categories
  • Found from Web Architecture what's missing
  • Hunting for new issues

Mapping from CUAP to Web Architecture

  1. Usability
    1. When the user follows a link to a target anchor, highlight the target location.
      • No equivalent in Web Arch. cat: browserUi
  2. If the user attempts to follow a link that is broken because it designates a missing anchor, let the user know it is broken.
  3. Allow the user to retrieve Web resources even if the browser cannot render them.
    • No reference in Web Arch
  4. When the user requests to print a frameset, allow the user to select to print an individual frame or the frameset.
    • No reference in Web Arch. Cat: browserUi
  5. Add support for new URI schemes in a straightforward way.
    • URI schemes. As a warning, it should be discouraged to create new URI schemes as well from the developers.
  6. Allow the user to override any mechanism for guessing URIs or keywords.
    • No reference in Web Arch. Cat: browserUi
  7. Warn users about incomplete documents and transfers.
  8. Provide a mechanism to allow authentication information to expire.
  9. When a Web resource includes metadata that may be recognized by the user agent, allow the user to view that metadata.
  10. Allow the user to keep track of completed HTTP POST requests.
  11. Allow the user to bookmark negotiated resources.
  12. Support time-saving transfer encoding mechanisms and send out TE headers announcing their support.
    • Nothing in Web Arch?
  13. Use the user interface language as the default value for language negotiation.
    • nothing in Web Arch
  14. Only advertise an encoding in Accept-encoding that you really accept.
    • nothing in Web Arch
  15. Remember traverse redirects
  16. Rendering
    1. Implement user style sheets. Allow the user to select from author and user style sheets or to ignore them.
      • Nothing
  17. Respect media descriptors when applying style sheets.
  18. If a CSS style sheet is missing, ignore it and continue processing.
  19. Implement the HTML 4 recognized link types.
    • Welll :) implement the spec! not sure it has to be here.
  20. Protocols Implementation
    1. Save resources retrieved from the Web on the local system using the appropriate system naming conventions.
      • is saving a file on a local file, creating a local URI of the same document?
  21. Respect the media type of a resource if one is explicitly given using the Content-Type HTTP header.
    1. Respect the character set of a resource when one is explicitly given.
    2. Do not treat HTTP temporary redirects as permanent redirects.
    3. If a host name has multiple DNS entries, try them all before concluding that the Web site is down.
    4. List only supported media types in an HTTP Accept header.
  22. URI handling
    1. Handle the fragment identifier of a URI when the HTTP request is redirected.

Issues to add