Skip to content

[AdaptiveCards][TableCell BackgroundImage] iOS shows cross-cell overlap; Android does not render transparent background; PC/Web renders correctly #13638

@MamoruKuroda

Description

@MamoruKuroda

Steps to reproduce

Steps to reproduce

  1. Use an Adaptive Card with a Table (2 × 2 layout) and set a 1×1 px transparent PNG as the backgroundImage for each TableCell (light gray / very light gray).
    • No bleed is specified (bleed not used).
    • Card version: 1.5 (Table/TableRow/TableCell).
    • Background image uses default settings (or explicitly set as shown below).
  2. Send/render this card in NewCommunicator on PC/Web, iOS, and Android.
  3. Observe visual result per platform.

Minimal payload example

{
  "type": "AdaptiveCard",
  "$schema": "http://adaptivecards.io/schemas/adaptive-card.json",
  "version": "1.5",
  "body": [
    {
      "type": "Table",
      "columns": [
        { "width": "auto" },
        { "width": "auto" }
      ],
      "rows": [
        {
          "type": "TableRow",
          "cells": [
            {
              "type": "TableCell",
              "items": [{ "type": "TextBlock", "text": "1×1 px light gray (transparent)" }],
              "backgroundImage": {
                "url": "<URL to 1x1px light-gray transparent PNG>",
                "fillMode": "cover",
                "horizontalAlignment": "Center",
                "verticalAlignment": "Center"
              }
            },
            {
              "type": "TableCell",
              "items": [{ "type": "TextBlock", "text": "1×1 px light gray (transparent)" }],
              "backgroundImage": {
                "url": "<URL to 1x1px light-gray transparent PNG>",
                "fillMode": "cover",
                "horizontalAlignment": "Center",
                "verticalAlignment": "Center"
              }
            }
          ]
        },
        {
          "type": "TableRow",
          "cells": [
            {
              "type": "TableCell",
              "items": [{ "type": "TextBlock", "text": "1×1 px very light gray (transparent)" }],
              "backgroundImage": {
                "url": "<URL to 1x1px very-light-gray transparent PNG>",
                "fillMode": "cover",
                "horizontalAlignment": "Center",
                "verticalAlignment": "Center"
              }
            },
            {
              "type": "TableCell",
              "items": [{ "type": "TextBlock", "text": "1×1 px very light gray (transparent)" }],
              "backgroundImage": {
                "url": "<URL to 1x1px very-light-gray transparent PNG>",
                "fillMode": "cover",
                "horizontalAlignment": "Center",
                "verticalAlignment": "Center"
              }
            }
          ]
        }
      ]
    }
  ]
}

Please see full payload json sample. 👉 AdaptiveCard_TableCell_bg.json

Expected behavior

Expected behavior

  • Each TableCell background is independent and clipped to the cell bounds.
  • No overlap between adjacent cells.
  • All platforms (PC/Web, iOS, Android) show consistent visuals.

Actual behavior

Actual behavior

  • PC/Web: Renders correctly (each cell has its own light/very light gray background).
  • iOS: The right cell’s background appears to overlap into the left cell (cross-cell background bleed/overlay), even when non‑transparent single‑color PNG (green) is used.
  • Android: The transparent background image is not rendered at all (cells remain white).

PC

Image

Android

Image

iOS

Image

Screenshots / attachments

  • PC/Web: correct rendering (each cell independent background).
  • iOS: overlap (right cell background overlays left).
  • Android: no background rendered (cells white).
  • JSON: AdaptiveCard_TableCell_bg.json (attached).

Error details

Error details

  • No runtime exceptions logged in NewCommunicator; this is a visual rendering inconsistency.
  • Card validates; payload parses and renders on all hosts.

Environment

  • Host app: NewCommunicator
  • Adaptive Cards schema: 1.5 (Table/TableRow/TableCell)
  • iOS: 18.6.2 / iPhone14
  • Android: Android16 / Pixel8a
  • PC/Web: Windows 11 Pro / Teams Client 25306.804.4102.7193

Workarounds tried / Additional context

  • Non‑transparent single‑color PNG (green) background:
    • On iOS, overlap still observed (right top cell’s green background appears over the left top cell area).
    • Image
  • We do not use bleed.
  • Hypothesis: Platform renderers may not clip TableCell backgrounds consistently; Android may ignore transparent background images for TableCell.
  • Request: Guidance on expected renderer behavior for TableCell.backgroundImage and fixes/workarounds at SDK/host level.

Metadata

Metadata

Assignees

Labels

bugteams-developer-supportQuestion related to extensibility (Bot, ME, Tab) would be marked under this label

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions