With my javadoc-tool-developer hat on, I'd like to get out of the business of jdk-style-owner, or at least identify that as a distinct hat. :-)

Kumar has identified a problem with the styles as currently defined ... you cannot easily embed a table with a default style inside a table with an explicit style ... which suggests the need for a third named style for "no borders". (And yes, we have nested tables in some places.).

Although we disagree with your comment "THIS IS JAVA" (no it's not, it's HTML and CSS) the point is noted. How about the following names, with appropriate comments to come in the style sheet:

1. <table class="no-borders">
it does what it says, but long term, I see this being deprecated in favor of other styles ... there are places where a style with no borders is in use now, but when you add in captions, some amount of bordering would be better.

2. <table class="plain">
        simple collapsed borders around each cell

3. <table class="striped">
        previously called altrows.

How about longer names, specific to tables, like "borderless-table", "plain-table", "striped-table"? That would make it easier to have named styles for other constructs, although we will need to keep a balance between a proliferation of named styles and too much inline style.

All of this would be so much better with sufficient definitions for all the styles used by javadoc to allow adventurous and creative folk to use modified stylesheets for their own API. But not this week.

By the way, I forgot to mention in my original email, there is a copy of the API docs showing the proposed changes, available here:

http://cr.openjdk.java.net/~jjg/8179479-8179592/api/java.base-summary.html

-- Jon




On 05/03/2017 05:46 PM, Martin Buchholz wrote:
Jon, I am happy for you to own the html5 style for the entire javadoc; consistency wins; my comments are only suggestions and I'm no html or css expert.

On Wed, May 3, 2017 at 5:03 PM, Jonathan Gibbons <jonathan.gibb...@oracle.com <mailto:jonathan.gibb...@oracle.com>> wrote:



    On 05/03/2017 04:39 PM, Martin Buchholz wrote:
    Thanks, Jon.

    For the Deque/Queue tables
    - * <table BORDER CELLPADDING=3 CELLSPACING=1>
    + * <table class="plain">
    I expected that we would modify these to
    <table border=1>
    which rendered alright and is compliant (although "border" is a
    weird boolean) and makes the "border intent" clear to humans and
    to browsers.

    THIS IS JAVA, so I'd prefer more verbose meaningful names for
    these style classes ... hmmm ... class="contrasting_rows" ?  To
    me, "plain" is suggestive of no borders at all.

    Can we have some guidance comments in stylesheet.css explaining
    when to use the different classes?


    Martin,

    If you are specifically requesting that the tables in Deque/Queue
    use "<table border=1>" then I will do as you request, but I note
    that the "plain" style does more than just  `border="1"`. It
    adjusts the caption font and the margins above and below the
    table. Given that the JSR166 doc comments actually use the
    <caption> tag reasonably, the presentation with the non-default
    font seemed "better".

    That being said, prior to doing this work, I did some analysis on
    the tables coming from doc comments.  There are about 484 <tables>
    with 70 different variants of the opening <table> tag.  Therefore,
    there was a secondary goal to simplify the many different visual
    appearances created using inline styles.

    How strongly do you feel about the names?  As I said at the end of
    the email, I would like to do a more complete cleanup of javadoc
    support for stylesheets in a subsequent release. This would
    involve separating the stylesheet for the HTML generated by the
    doclet from a stylesheet provided to accompany the doc comments,
    and would clean up the name space and write a moderately formal
    specification of the styles in those stylesheets.

    I can put some comments in the default stylesheet for the time being.

    -- Jon



Reply via email to