Opened 6 years ago

Last modified 2 years ago

#9457 confirmed Bug

HTML5 support on parser

Reported by: Garry Yao Owned by:
Priority: Normal Milestone:
Component: Core : Parser Version: 4.0
Keywords: Cc:


Now editor is using a static, html5 alike DTD for the basic level of support.

The nature of html5 is DTD-less and conformance checks are based on content model that are relevant to the element context, but currently the parser is NOT handling the following cases:

  1. Element with transparent content model.
  2. Element with dynamic content model depending on attribute values, e.g. video
  3. Other constraints like interactive element (e.g. button) must not appear as a descendant of the <a>

Change History (11)

comment:1 Changed 6 years ago by Jakub Ś

Status: newconfirmed

I believe that bug about block level links - #7961 falls under point 1 and bug about video falls under point two #8119

comment:2 Changed 6 years ago by Piotrek Koszuliński

Pushed t/9457.

This branch contains patch rejected in last moment before 4.0 because of its big impact.

comment:3 Changed 6 years ago by Piotrek Koszuliński

Closed #7961 as a duplicate.

Update: we're not currently working on this issue and not planning any milestone for it at the moment. It is important, but unfortunately it also requires a lot of work so it doesn't fit in 4.2.

comment:4 Changed 5 years ago by xmo

Cc: xmo@… added

Encountered this issue (more precisely the block-level links subset of it) during work on a #9764 based integration.

Fairly annoying as it breaks markup and may lead to unexpected (and incorrect) editability and edition, especially when combined to #9764 (a widget is set up on a block-level element e.g. div of h* which is surrounded by a link, the link finds itself within the widget, wreaks havoc on expectations and breaks widget behavior as wrapper and wrapped move around)

Last edited 5 years ago by xmo (previous) (diff)

comment:5 Changed 5 years ago by Jakub Ś

#11209 (block-level links) - was marked as duplicate.

comment:6 Changed 4 years ago by Tieme

Any updates on this issue? It's been a while but the editor is still rejecting those structures.

comment:7 Changed 4 years ago by TesX

Can you please provide us with updates with this issue? I badly need this feature...
Thanks :)

comment:8 Changed 3 years ago by Ashley

Will this ever be resolved? For a content editor, not being able to use common HTML structures like wrapping a bunch of stuff in a link is a major flaw. If this requires a major rewrite, then that's what should be done. I'm sure you'll also get to clear out a lot of cruft from years of not updating the core to keep up with evolving standards and usecases.

In my role as a Drupal developer, having to fix users' content because the WYSIWYG mode breaks the layout in the HTML template gets old real quick...

comment:9 Changed 3 years ago by xmo

Cc: xmo@… removed

comment:10 Changed 2 years ago by konfuzed

With accessibility and usability key issues in the US for federally funded organizations, including educational institutions, this block-level link issue has actually become a rather painful road block for us.

Not only does HTML5 allow links to wrap block level elements, but it removes a very painful usage experience for screen readers from having multiple links read out in a row linking to the same content, which the current block level enforced formatting encourages. There are possible work arounds, but they involve each CMS or code block to be handled versus the actual tool being corrected.

Since this seems to be a more sizable core issue, what impetus can be put behind this change so that CKEditor is not a disqualifying issue on procurement and accessibility requirements for content editors and developers?

This issue will become only more pronounced going forward due to the legal landscape as well, as the higher ed market is being put under a microscope right now.

Last edited 2 years ago by konfuzed (previous) (diff)

comment:11 Changed 2 years ago by Frederico Caldeira Knabben

Note that we're not talking about an essential a11y feature here, but instead about a nice to have thing, to avoid annoyance.

It's rather uncommon (it should be at least) to make a whole block of text, headers, images, etc. a single link. Not in a content creation tool at least, which should be used to create quality content. Maybe this can happen in software used to design HTML pages, still this is bad practice for SEO purposes.

Let's remember that CKEditor is a content creation tool, not a developer tool.

Anyway, for those that take this to their heart, I would strongly recommend trying to bring this feature to life. Demanding, ranting and just talking will not solve the problem. Only code can make it happen :)

Note: See TracTickets for help on using tickets.
© 2003 – 2019 CKSource – Frederico Knabben. All rights reserved. | Terms of use | Privacy policy