Bug 86173 - handle gracefully missing title element in alternate stylesheets
Summary: handle gracefully missing title element in alternate stylesheets
Status: CONFIRMED
Alias: None
Product: konqueror
Classification: Applications
Component: khtml (show other bugs)
Version: 3.2.2
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: Konqueror Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2004-07-28 16:02 UTC by Adeodato Simó
Modified: 2006-04-27 11:12 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Adeodato Simó 2004-07-28 16:02:19 UTC
Version:           3.2.2 (using KDE 3.2.3,  (testing/unstable))
Compiler:          gcc version 3.3.4 (Debian 1:3.3.4-4)
OS:                Linux (i686) release 2.6.7-1-686

[This is Debian Bug#231179, reported by Ambrose Li <ambrose.li@cccgt.org>. You can read the full log at <http://bugs.debian.org/231179>.]

This is somehow related to KDE Bug#54335, which I understand, but different. Taking the sample page by Jon Dowland (http://toast.debian.net/~jmtd/konq/index.html), which now works, we have:

    <link   rel="alternate stylesheet" href="red.css"  type="text/css" title="Red"  />
    <link   rel="stylesheet"           href="blue.css" type="text/css" title="Blue" />

That works as intended (blue background). Problem arises when *both* of the two following conditions are met:

    1. "alternate stylesheet" lacks a "title" element.
    2. "alternate stylesheet" appears *after* "stylesheet".

In that case, red background is obtained. As I wrote in the Debian bug report:

  the real problem here is that the alternate stylesheet test.css does
  not have a title element which is, as per the relevant W3C specification
  (http://www.w3.org/TR/REC-html40/present/styles.html#h-14.3.2) and AIUI,
  not a valid scenario for an alternate stylesheet:

      Specify that the style sheet is persistent, preferred, or alternate:

        - To make a style sheet persistent, set the rel attribute to
          "stylesheet" and don't set the title attribute.

        - To make a style sheet preferred, set the rel attribute to
          "stylesheet" and name the style sheet with the title
          attribute.

        - To specify an alternate style sheet, set the rel attribute to
          "alternate stylesheet" and name the style sheet with the title
          attribute.

  the user fix for this is to specify a title="foo" element in the
  alternate stylesheet link tag.

  however, as seems reasonable to handle the missing title element
  gracefully, and other browsers certainly do so, I'm forwarding this to
  upstream developers to see what they think.

thanks.