emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* W3C violations in Org's HTML export
@ 2020-10-23 19:04 TEC
  2020-10-24 11:28 ` Bastien
                   ` (3 more replies)
  0 siblings, 4 replies; 7+ messages in thread
From: TEC @ 2020-10-23 19:04 UTC (permalink / raw)
  To: org-mode-email

Hi everyone,

In developing my take on the Org website and my coFig file, it has 
come
to my attention that there seem to be a few W3C violations in the 
HTML
export.

I always export with these settings,
which may affect some of the items below.
#+begin_src emacs-lisp
(setq org-html-doctype "html5"
      org-html-html5-fancy t)
#+end_src

* Error: Element p not allowed as child of element h2 in this 
  context
  Org currently seems to put a p.subtitle inside the heading.
  This violates the "phrasing content" restriction.
  https://html.spec.whatwg.org/multipage/sections.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements

** Suggestion
   Make the subtitle an independent element, is can still be a
   p.subtitle, just not /inside/ the h2 title

* Warning: The type attribute is unnecessary for JavaScript 
  resources.
  This seems to be from the '<script type="text/javascript">' code
  highlighting script.

** Suggestion
   Remove the ' type="text/javascript"' part of that.

* Error: Attribute alt not allowed on element object at this 
  point.
  This occurs when one has an svg figure, and one wishes to add 
  alt text
  (good for accessibility). This is of course applied to the 
  <object
  type="image/svg+xml">.
  
  What's interesting here is that the benefit of using an <object> 
  over
  an <img> for SVGs seems to basically be that it allows for a 
  raster
  fallback (with the downside that it is downloaded even when not
  needed). However... if we're using HTML5, the <picture> element 
  exists
  for exactly this case, and provides a better implementation of
  fallbacks. Even if one is not using HTML5, I don't see any way 
  that
  Org actually makes use of the potential for a raster fallback 
  ...
  raising the question of why an <object> is used over <img> in 
  the
  first place. It appears that browser support for SVGs in <img> 
  tags
  was originally sketchy, however that issue seems to have bee 
  long
  since resolved: https://caniuse.com/svg-img

** Suggestion
   Switch <object> to <img> for SVGs, if Org does add a mechanism 
   for
   defining fallback images in the future, use <picture> with 
   HTML5

* Error: Duplicate ID org0424ed6.
  Clearly, this can happen. I'm not sure how.
  I'd like to draw attention to this email I sent a while ago 
  (excuse
  the mangled start)
  https://orgmode.org/list/E1jxAjq-0004Dk-LH@lists.gnu.org/

* Error: Character reference expands to a control character 
  (U+0002).
  I have no idea where this is coming from, or why it's there --- 
  but it
  is, and it's not alone:
  + Error: Character reference expands to a control character 
  (U+001d).
  + Error: Character reference expands to a control character 
  (U+001f).
  + Error: Character reference expands to a control character 
  (U+0016).
  + Error: Character reference expands to a control character 
  (U+000f).
  + Warning: Document uses the Unicode Private Use Area(s), which 
  should
    not be used in publicly exchanged documents. (Charmod C073)
  + Error: Character reference expands to a control character 
  (U+001b).

  I suspect this may be htmlize, but I'm not sure, and it's 
  Org-related,
  so I'll include it.

* (not an error) Difficulty in 'wrapping' sections
  It's quite reasonable (IMO) to want to wrap a (sub*)section in a
  certain element, such as a link. Indeed I've wanted to do this 
  to
  create clickable 'cards' on the homepage of my org website 
  revamp.
  Unfortunately there doesn't seem to be any property like 
  :HTML_WRAP:
  etc. that can be applied, forcing me to try this:

  #+begin_src org
  ,** Features
  @@html:<a href="features.html">@@
  [[file:resources/img/stars.svg]]

  Delve into the possibilities.
  @@html:</a>@@
  #+end_src

  This produces the following errors:
  + Error: End tag p seen, but there were open elements.
  + Error: Unclosed element a.
  + Error: End tag a violates nesting rules.
  + Fatal Error: Cannot recover after last error. Any further 
  errors
    will be ignored.

  It would be good to have a way to do this that doesn't cause W3C
  issues.

That's all that I could see on a first glance. I'm hoping that
documenting these issues here will be the first step to solving 
them.

To identify these issues, I applied https://validator.w3.org/ to
https://orgmode.tecosaur.com/ and 
https://tecosaur.github.io/emacs-config/config.html

All the best,

Timothy.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: W3C violations in Org's HTML export
  2020-10-23 19:04 W3C violations in Org's HTML export TEC
@ 2020-10-24 11:28 ` Bastien
  2020-12-17 17:55 ` TEC
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 7+ messages in thread
From: Bastien @ 2020-10-24 11:28 UTC (permalink / raw)
  To: TEC; +Cc: org-mode-email

Hi Timothy,

TEC <tecosaur@gmail.com> writes:

> In developing my take on the Org website and my coFig file, it has
> come to my attention that there seem to be a few W3C violations in
> the HTML export.

thanks for the careful tests and for reporting this.

> I always export with these settings,
> which may affect some of the items below.
>
> #+begin_src emacs-lisp
> (setq org-html-doctype "html5"
>       org-html-html5-fancy t)
> #+end_src

I suggest we first try to fix HTML errors that we have with the
default settings, then errors with fancy ones.

> That's all that I could see on a first glance. I'm hoping that
> documenting these issues here will be the first step to solving 
> them.

It surely does.  Can you provide a patch for each issue, opening 
a new thread so that we can discuss the solution?

Thanks!

-- 
 Bastien


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: W3C violations in Org's HTML export
  2020-10-23 19:04 W3C violations in Org's HTML export TEC
  2020-10-24 11:28 ` Bastien
@ 2020-12-17 17:55 ` TEC
  2020-12-20 17:11   ` Bastien
  2021-04-30  8:27 ` Bastien
  2021-04-30 11:37 ` Bruce D'Arcus
  3 siblings, 1 reply; 7+ messages in thread
From: TEC @ 2020-12-17 17:55 UTC (permalink / raw)
  To: org-mode-email


I don't think this should be forgotten about, so I'm adding it to
https://updates.orgmode.org/#help for now.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: W3C violations in Org's HTML export
  2020-12-17 17:55 ` TEC
@ 2020-12-20 17:11   ` Bastien
  0 siblings, 0 replies; 7+ messages in thread
From: Bastien @ 2020-12-20 17:11 UTC (permalink / raw)
  To: TEC; +Cc: org-mode-email

Hi Timothy,

TEC <tecosaur@gmail.com> writes:

> I don't think this should be forgotten about, so I'm adding it to
> https://updates.orgmode.org/#help for now.

Thanks - a tip: you can use a summary like this one with Woof:

  X-Woof-Help: Fix W3C violations in Org's HTML export

See https://github.com/bzg/woof#annotations-for-bugs-and-help-requests

Also, feel free to submit patches for these issues, ideally by
discussing them in separate threads.

-- 
 Bastien


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: W3C violations in Org's HTML export
  2020-10-23 19:04 W3C violations in Org's HTML export TEC
  2020-10-24 11:28 ` Bastien
  2020-12-17 17:55 ` TEC
@ 2021-04-30  8:27 ` Bastien
  2021-04-30  8:57   ` Timothy
  2021-04-30 11:37 ` Bruce D'Arcus
  3 siblings, 1 reply; 7+ messages in thread
From: Bastien @ 2021-04-30  8:27 UTC (permalink / raw)
  To: TEC; +Cc: org-mode-email

Hi Timothy,

TEC <tecosaur@gmail.com> writes:

> * Error: Element p not allowed as child of element h2 in this 
>   context
>   Org currently seems to put a p.subtitle inside the heading.
>   This violates the "phrasing content" restriction.
>   https://html.spec.whatwg.org/multipage/sections.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements
>
> ** Suggestion
>    Make the subtitle an independent element, is can still be a
>    p.subtitle, just not /inside/ the h2 title

Agreed, can you provide a patch for this?

> * Warning: The type attribute is unnecessary for JavaScript 
>   resources.
>   This seems to be from the '<script type="text/javascript">' code
>   highlighting script.
>
> ** Suggestion
>    Remove the ' type="text/javascript"' part of that.

Done.

> * Error: Attribute alt not allowed on element object at this 
>   point.
>   This occurs when one has an svg figure, and one wishes to add 
>   alt text
>   (good for accessibility). This is of course applied to the 
>   <object
>   type="image/svg+xml">.
>   
>   What's interesting here is that the benefit of using an <object> 
>   over
>   an <img> for SVGs seems to basically be that it allows for a 
>   raster
>   fallback (with the downside that it is downloaded even when not
>   needed). However... if we're using HTML5, the <picture> element 
>   exists
>   for exactly this case, and provides a better implementation of
>   fallbacks. Even if one is not using HTML5, I don't see any way 
>   that
>   Org actually makes use of the potential for a raster fallback 
>   ...
>   raising the question of why an <object> is used over <img> in 
>   the
>   first place. It appears that browser support for SVGs in <img> 
>   tags
>   was originally sketchy, however that issue seems to have bee 
>   long
>   since resolved: https://caniuse.com/svg-img
>
> ** Suggestion
>    Switch <object> to <img> for SVGs, if Org does add a mechanism 
>    for
>    defining fallback images in the future, use <picture> with 
>    HTML5

Can you confirm the two issues above are already fixed?

> * Error: Duplicate ID org0424ed6.
>   Clearly, this can happen. I'm not sure how.
>   I'd like to draw attention to this email I sent a while ago 
>   (excuse
>   the mangled start)
>   https://orgmode.org/list/E1jxAjq-0004Dk-LH@lists.gnu.org/

I cannot reproduce this.

> * Error: Character reference expands to a control character 
>   (U+0002).
>   I have no idea where this is coming from, or why it's there --- 
>   but it
>   is, and it's not alone:
>   + Error: Character reference expands to a control character 
>   (U+001d).
>   + Error: Character reference expands to a control character 
>   (U+001f).
>   + Error: Character reference expands to a control character 
>   (U+0016).
>   + Error: Character reference expands to a control character 
>   (U+000f).
>   + Warning: Document uses the Unicode Private Use Area(s), which 
>   should
>     not be used in publicly exchanged documents. (Charmod C073)
>   + Error: Character reference expands to a control character 
>   (U+001b).
>
>   I suspect this may be htmlize, but I'm not sure, and it's 
>   Org-related,
>   so I'll include it.

I don't observe this, a reproducible recipe is welcome.

> * (not an error) Difficulty in 'wrapping' sections
>   It's quite reasonable (IMO) to want to wrap a (sub*)section in a
>   certain element, such as a link. Indeed I've wanted to do this 
>   to
>   create clickable 'cards' on the homepage of my org website 
>   revamp.
>   Unfortunately there doesn't seem to be any property like 
>   :HTML_WRAP:
>   etc. that can be applied, forcing me to try this:
>
>   #+begin_src org
>   ,** Features
>   @@html:<a href="features.html">@@
>   [[file:resources/img/stars.svg]]
>
>   Delve into the possibilities.
>   @@html:</a>@@
>   #+end_src
>
>   This produces the following errors:
>   + Error: End tag p seen, but there were open elements.
>   + Error: Unclosed element a.
>   + Error: End tag a violates nesting rules.
>   + Fatal Error: Cannot recover after last error. Any further 
>   errors
>     will be ignored.
>
>   It would be good to have a way to do this that doesn't cause W3C
>   issues.

Once all issues listed here are handles, please close the call for
help with "X-Woof-Help: close" as a header.

Please open a separate proposal for this.

Thanks,

-- 
 Bastien


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: W3C violations in Org's HTML export
  2021-04-30  8:27 ` Bastien
@ 2021-04-30  8:57   ` Timothy
  0 siblings, 0 replies; 7+ messages in thread
From: Timothy @ 2021-04-30  8:57 UTC (permalink / raw)
  To: Bastien; +Cc: org-mode-email


Bastien <bzg@gnu.org> writes:

>> ** Suggestion
>>    Make the subtitle an independent element, is can still be a
>>    p.subtitle, just not /inside/ the h2 title
>
> Agreed, can you provide a patch for this?

I'll add that to my todo list.

>> ** Suggestion
>>    Remove the ' type="text/javascript"' part of that.
>
> Done.

Nice.

>> [SVGs]
> Can you confirm the two issues above are already fixed?

As of d96e897579 I'm not seeing any more W3C complaints :)

>> * Error: Duplicate ID org0424ed6.
>>   Clearly, this can happen. I'm not sure how.
>>   I'd like to draw attention to this email I sent a while ago
>>   (excuse
>>   the mangled start)
>>   https://orgmode.org/list/E1jxAjq-0004Dk-LH@lists.gnu.org/
>
> I cannot reproduce this.

This may have been a low-chance once off / short-lived strange bug.
If nobody else has seen this happen, I'd be inclined to dismiss this.

>> * Error: Character reference expands to a control character
>>   (U+0002).
>>
>>   I suspect this may be htmlize, but I'm not sure, and it's
>>   Org-related,
>>   so I'll include it.
>
> I don't observe this, a reproducible recipe is welcome.

I'll come back to this if I can find out more.

>> * (not an error) Difficulty in 'wrapping' sections
>>   It's quite reasonable (IMO) to want to wrap a (sub*)section in a
>>   certain element, such as a link. Indeed I've wanted to do this
>>   to create clickable 'cards' on the homepage of my org website
>>   revamp. Unfortunately there doesn't seem to be any property like
>>   :HTML_WRAP: etc. that can be applied, forcing me to try this:
>>   [...]
>
> Please open a separate proposal for this.

Will do once I've thought a bit about what would be a good
interface/implementation for this.

> Once all issues listed here are handles, please close the call for
> help with "X-Woof-Help: close" as a header.

Will do 👍

Thanks for reminding me about this,

Timothy.


^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: W3C violations in Org's HTML export
  2020-10-23 19:04 W3C violations in Org's HTML export TEC
                   ` (2 preceding siblings ...)
  2021-04-30  8:27 ` Bastien
@ 2021-04-30 11:37 ` Bruce D'Arcus
  3 siblings, 0 replies; 7+ messages in thread
From: Bruce D'Arcus @ 2021-04-30 11:37 UTC (permalink / raw)
  To: TEC; +Cc: org-mode-email

On Fri, Oct 23, 2020 at 3:46 PM TEC <tecosaur@gmail.com> wrote:

> ** Suggestion
>    Make the subtitle an independent element, is can still be a
>    p.subtitle, just not /inside/ the h2 title

Have you seen this?

Suggests wrapping title h* and p within a header.

https://www.w3.org/TR/html52/common-idioms-without-dedicated-elements.html#subheadings-subtitles-alternative-titles-and-taglines

Bruce


^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2021-04-30 12:43 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-10-23 19:04 W3C violations in Org's HTML export TEC
2020-10-24 11:28 ` Bastien
2020-12-17 17:55 ` TEC
2020-12-20 17:11   ` Bastien
2021-04-30  8:27 ` Bastien
2021-04-30  8:57   ` Timothy
2021-04-30 11:37 ` Bruce D'Arcus

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).