The example below documents the problems. In short, \definelabel suppresses paragraph indent when the label is at the beginning of a paragraph and fails to print the label or generate references with alternative=inmargin (or inright, or inleft) when in a footnote.

\defineenumeration fails to work in a footnote.


\setupindenting[yes,small]
\definelabel   [ID][
%\defineenumeration[ID][
   text=,
   after=,
   before=,
   headcolor=red,
   alternative=inright,
  ]
\starttext
\starttitle[title={Label testing}]
\startsubject[title={Problems with \tex{definelabel}}]

  This is a test. It is only a test.

  \ID[id1]This paragraph should be indented, with an ID number
    in the margin. When \tex{ID} is placed at the beginning of the
    paragraph, as it is here, the paragraph is not indented.

  This paragraph has a footnote.\footnote{%
      \ID[id2]The ID number is not printed in the margin with
        {\tt alternative=inright}, {\tt alternative=inmargin},
        or {\tt alternative=inleft}. Without any {\tt
        alternative} the ID number is printed where the macro
        appears. The positioning is unsatisfactory using {\tt
        alternative=right}.%
    } The footnote has an ID number which should be printed in the
    right margin.

  This \ID[id3]paragraph has an ID, but it is not at the beginning
    of the paragraph and the paragraph is properly indented. The
    value of the ID number indicates that \tex{ID} in the footnote
    of the previous paragraph incremented the associated counter,
    but the failure of the references (\tex{in} and \tex{at}) to id2
    suggests that there are other problems.

  \dorecurse{3}{
    ID id#1 is \in[id#1] and is on page \at[id#1].\par}

  References for footnotes are generated without \tt{alternative=}.

\stopsubject
\startsubject[title={Problems with \tex{defineenumeration}}]

  When \tex{definelabel} is changed to \tex{defineenumeration},
    the example fails to compile. It does not properly handle
    the \tex{ID} in the footnote, complaining of an extra \} or
    forgotten \tex{endgroup}.

\stopsubject
\stoptitle
\stoptext
--
Rik