Opinion poll!

You have a <button>, it makes a <foo> open. What would be the best declarative attribute for the button to control the foo?

<button clickaction=open
17.1%
<button invokeaction=open
42.1%
<button command=open
26.3%
Other (comment ideas)
14.5%
Poll ended at .
@keithamus <button target="foo" action="open" on="click">
@mattsch @keithamus What if we wanted it to do one thing on click (activation) and another on say "interest" (hover/focus/etc)?

@Lukew @keithamus I just thought as well about specifying multiple invocations. I think it is legal to use {attribute}:{index}={value} in XHTML? e.g.

<button
invoketarget:1="foo"
invokeaction:1="open"
invoketarget:2="foo-tooltip"
invokeaction:2="open"
invokeevent:2="focus mouseover"
invoketarget:3="foo-tooltip"
invokeaction:3="close"
invokeevent:3="focusout mouseout"
>

Here I'm specifying the button opens foo on default invocation (click or keypress), but it can also open/close a related tooltip when the button is focused or hovered (freewheelingly introducing a new attribute invokeevent to specify which event triggers the action).

@mattsch @keithamus I *think* in html that would parse as a 1 attribute (not sure if that's valid) inside the invoketarget namespace, like xlink:href. While it's powerful I think it's possibly too complex?
@Lukew @keithamus yeah, feels goofy having all that guff

@Lukew @keithamus the only other thing I could suggest for multiple different invocations is by separating by delimiter within attribute values:

<button invoketarget="foo; foo-tooltip" invokeaction="open; focus mouseover:open, focusout mouseout:close">

In this the suggestion is that the delimiter ; splits the target/action into array where index groups target/action. An additional delimiter of comma separates actions, and actions could be prefixed by the desired event(s) (separated by whitespace if there are multiple) with a : and the action:

{
0: {
invoketarget: "foo",
invokeaction: "open",
},
1: {
invoketarget: "foo-tooltip",
invokeaction: [
0: {
event: "focus mouseover",
action: "open",
},
1: {
event: "focusout mouseout",
action: "close",
}
]
}
}

Maybe that's overcomplicated too...

@mattsch @keithamus Our current plan is to have an invoke* and an interest* attribute set for the action and target and then you can have both. Not as powerful but not as complicated. That being said interest invokers (or whatever they end up being called) still has lots.of unanswered questions
@Lukew @keithamus seems like a much more elegant and less complicated solution that what I was thinking! Simple is best.