On Wed, 6 Sep 2017 11:25:51 +0200 Hans Hagen <pragma@wxs.nl> wrote:
On 9/6/2017 9:55 AM, Christoph Reller wrote:
> On Tue, 5 Sep 2017 16:29:52 +0200 Hans Hagen <pragma@wxs.nl
> <mailto:pragma@wxs.nl>>   wrote:
>
>     On 8/30/2017 9:45 AM, Christoph Reller wrote:
>      > On Mon, Dec 28, 2015 at 3:45 PM Christoph Reller
>      > <christoph.reller@gmail.com> wrote:
>      >
>      > There seems to be a problem with the structure information added
>      > when using \startmatrix:
>      >
>      > A fix would be very much appreciated.
>
>     should be ok now
>
>
> Thank you Hans for this fix!
>
> There seems to be, however, still a minor issue with a more complete MWE:
> \math{
>    \startmatrix
>      \NC A \NC B \NR
>      \NC C \NC D \NR
>    \stopmatrix}

can you test with

\def\math_matrix_process#1#2%
   {\forgettagging % otherwise dummy mrows and such
    \dowithnextbox
      {\scratchdimen\dimexpr(\nextboxdp-\nextboxht)/2
\ifcase#2\or+\mathaxisheight\textfont2\fi\relax

\ifcase#1\relax\or\lower\scratchdimen\or\or\raise\scratchdimen\fi\hbox\bgroup
         \normalstartimath
         \mathmatrixparameter\c!left
         \vcenter{\unvbox\nextbox}%
         \mathmatrixparameter\c!right
         \normalstopimath
       \egroup}%
    \vbox}

Indeed, this is much better! Thank you!
I recommend to include this as a patch in ConTeXt.

However: Testing never stops ;-) I have the following MWE:

\definemathmatrix[pmatrix][left={\left(},right={\right)}]
\math{
  \startpmatrix
    \NC A \NC B \NR
    \NC C \NC D \NR
  \stoppmatrix}

This (including your suggested fix) results in the following structure tree:

<document>
|-<math>
| '-<mrow>
|   '-<mrow>
|     '-<mfenced>
|       '-<mrow>
'-<math>
  '-<mtable>
    |-<mtr>
    | |-<mtd>
    | | '-<math>
    | |   '-<mrow>
    | |     '-<mi>
    | |       '-"A"
    | '-<mtd>
    |   '-<math>
    |     '-<mrow>
    |       '-<mi>
    |         '-"B"
    '-<mtr>
      |-<mtd>
      | '-<math>
      |   '-<mrow>
      |     '-<mi>
      |       '-"C"
      '-<mtd>
        '-<math>
          '-<mrow>
            '-<mi>
              '-"D"

I think that the <mtable> should be located within the <mfenced>, shouldn't it?

Cheers,
Christoph