On the Documentation pages both for Graphics
and Button
only the two-argument form of Button
is mentioned as a wrapper allowed inside of Graphics
. So I would not say that the behavior you describe contradicts the Documentation.
From the other side, for what purpose may you need a knowingly inoperative Button
inside of Graphics
? This approach looks like a wrong idea on its own, so I would not complain that it produces an error message. Button
without the second argument is just a useless wrapper and the error message correctly warns that you are doing something wrong.
You have already provided an easy workaround - simple addition of the second argument of Button
(even Null
) "fixes" this: Graphics@Button[Disk[], ]
does not produce the error message.
So there is nothing that can be called even a minor bug.
Why then your workaround through editing the output by prepending Graphics@
to it works? Let us see what the output Cell
actually contains by appending //InputForm
and evaluating inside of a Notebook:
You see that the Button
in the output Cell
actually contains four arguments (but it is still the one-argument form of Button
with options appended)! So the explanation is simple: Mathematica simply checks if Button
contains only one argument and complains in this case. It seems to be the intended behavior but poorly implemented: more general case of one-argument Button
with options was not considered by the developer. So it is not a bug, just careless without harmful consequences.