联系按钮由 CommunicateAction (schema.org) 描述,不是吗?

Contact button is described by CommunicateAction (schema.org), isn't it?

我有一个远程教育网站。我有用于联系的按钮 (CSS),我想用 schema.org 和 CommunicateAction(用 itemprop="about")来描述它:

<div itemscope itemtype="http://schema.org/CommunicateAction">
  <a itemprop="url" href="contact.html" title="Contact us">
  <span itemprop="about">Contact</span></a> 
</div>

这样对吗?或者这个选项用于其他事情?

并且 - 我的某些课程的 "join" 按钮用 RegisterAction 描述(用 itemprop="name"):

<span itemscope itemtype="http://schema.org/RegisterAction">  
  <a href="join.html" title="Join this course"><span itemprop="name">Join</span></a>
</span>

这样对吗?

Schema.org的文档似乎没有提供相关示例,但根据action documentation,这些按钮使用Action类型似乎是合适的。

一些注意事项:

  • 您可能在示例中将其遗漏了,但可以肯定的是:您将使用 potentialAction 属性:[=27 从其父类型引用操作=]

    <body itemscope itemtype="http://schema.org/WebPage"> <!-- or something else -->
      <div itemprop="potentialAction" itemscope itemtype="http://schema.org/CommunicateAction">…</div>
    </body>
    
  • 您可能希望提供 actionStatus 属性,以明确说明这些是 潜在的 操作(而不是已经发生了),但这不是必需的(尤其是在使用 potentialAction 属性 时):

    <link itemprop="actionStatus" href="http://schema.org/PotentialActionStatus">
    
  • 我不确定是否使用 url(我认为它会代表动作本身的 URL,不一定是 URL 如何使这个动作发生)。我猜你应该使用 target 属性 来代替:

    <a itemprop="target" href="contact.html" title="Contact us">
    

    或更详细(可能不需要):

    <span itemprop="target" itemscope itemtype="http://schema.org/EntryPoint">
      <a itemprop="url" href="contact.html" title="Contact us">
    </span>
    
  • 我认为为这种简单的情况提供about并不是真正的needed/useful。 name 可能就足够了:

    <span itemprop="name">Contact</span>