Bug 86173

Summary: handle gracefully missing title element in alternate stylesheets
Product: [Applications] konqueror Reporter: Adeodato Simó <dato>
Component: khtmlAssignee: Konqueror Developers <konq-bugs>
Status: CONFIRMED ---    
Severity: wishlist CC: ana
Priority: NOR    
Version: 3.2.2   
Target Milestone: ---   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In:

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.