reduce instances when p-name is implied #6

Open
tantek opened this Issue Mar 15, 2017 · 5 comments

Projects

None yet

3 participants

@tantek
Member
tantek commented Mar 15, 2017 edited

This is a split-off of part of http://microformats.org/wiki/microformats2-parsing-issues#implied_properties_when_an_explicit_class_is_provided that was left unresolved without consensus (since that issue was resolved with just dealing with u-url and nothing more).

Experience has shown there are a number of instances where implied p-name produces something unhelpful. Typically this happens with otherwise large microformats which for some reason omitted the name (e.g. an h-feed, or h-entry that has no author supplied name etc.).

The use-case for which implied p-name was designed was for small microformats, e.g. just a hyperlink with h-* class on it, or maybe just a simple set of nested elements (without siblings). It has some similar use-cases too. But by the point you have elements with multiple explicit properties specified inside, rarely does the current implied p-name rule produce anything useful.

One thing that would help is links to specific examples where excessive or otherwise "useless" p-names are being implied, where no p-name would actually be preferable (from a consuming code point of view).

@tantek
Member
tantek commented Mar 15, 2017

From the end of the wiki discussion, one straw proposal was:

"any explicit p-* property on an element stops implied p-name"

(this sounds a bit ambiguous and could be reworded, but I think the general intent / principle is workable)

@aaronpk
aaronpk commented Mar 15, 2017

I'm not clear on what that proposal actually means. Does "stop" mean no implied name is generated at all? Does it mean that property with p-* is excluded from the implied name?

@tantek
Member
tantek commented Mar 15, 2017

Either possibility could be pursued. Let's start documenting examples of existing failures / misbehaviors so we can look at specifics.

@aaronpk
aaronpk commented Mar 15, 2017

Here is an example that came up today: https://huffduffer.com/tags/indieweb

This boils down to a structure like below:

<ol class="h-feed">
  <li class="h-entry">
    <h3 class="p-name">Episode Name</h3>
    <div class="e-content">episode description...</div>
    <audio class="u-audio" src="..."></audio>
    <p class="p-author h-card">...</p>
  </li>
</ol>

The result of the current implied p-name rule is all the contents of the individual h-entrys end up being in the implied p-name of the h-feed.

@mblaney
mblaney commented Mar 16, 2017

Would it make sense for implied p-name to skip content from h-* children? It would mean in the above case that the implied p-name for the above h-feed is empty.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment