The legacy parser contains a special case to handle tables prefixed with colons:
In Parser::handleTables:
if ( preg_match( '/^(:*)\s*\{\|(.*)$/', $line, $matches ) ) {
# First check if we are starting a new table
$indent_level = strlen( $matches[1] );
$attributes = $this->mStripState->unstripBoth( $matches[2] );
$attributes = Sanitizer::fixTagAttributes( $attributes, 'table' );
$outLine = str_repeat( '<dl><dd>', $indent_level ) . "<table{$attributes}>";There don't seem to be any parser tests for this case. Parsoid almost certainly handles this differently than the legacy parser does (but w/o tests I don't know exactly how they differ).