Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Push live #362

Merged
merged 82 commits into from
Feb 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
82 commits
Select commit Hold shift + click to select a range
4fdb0eb
Update host-config.md (#248)
jwoo-msft Jan 21, 2020
ed6d16b
Update host-config.md (#248) (#249)
jwoo-msft Jan 22, 2020
c375098
Fix typo
matthidinger Jan 24, 2020
447ed64
Webex Team now supports 1.2. (#258)
urangasa Feb 18, 2020
1f930bd
Update partners.md
matthidinger Feb 18, 2020
928b70d
Fix typo (#257)
cwhitten Feb 18, 2020
a122a86
Update service.md (#252)
MarkMcGee1 Feb 18, 2020
58acd04
Update service.md
matthidinger Feb 18, 2020
bcabbb1
Update partners.md
matthidinger Feb 18, 2020
e5793ee
Update render-a-card.md (#239)
haldun Feb 18, 2020
d34110a
Update partners.md
matthidinger Feb 18, 2020
9dcc789
Updated note text - .NET version is available (#265)
billbliss Mar 27, 2020
2440cb5
Update Web Chat to 4.8.0 with AC 1.2.5 (#264)
compulim Mar 30, 2020
7043efc
typo, then > than (#263)
crowcoder Mar 30, 2020
be92f2d
C196067 - Converting plain-text link to MD syntax (#267)
V-vafune Apr 13, 2020
0a4a748
Update config to enable docfx v3 (#269)
VSC-Service-Account Apr 16, 2020
04c0bb2
fix obsolete ctor
matthidinger May 7, 2020
dba19dd
Update variable name (#280)
tony-xia May 12, 2020
64d891f
Fixed minor typos (#279)
tony-xia May 12, 2020
109b411
Fixed a wrong spelling (#281)
tony-xia May 12, 2020
2789bf0
Updated iOS example (#283)
jwoo-msft May 14, 2020
71521ff
Updating Web Chat to 4.9.0 (#284)
compulim May 18, 2020
170f807
Update templating docs (#272)
matthidinger May 19, 2020
92b25bc
Merge branch 'live' into master
matthidinger May 19, 2020
716cd96
Update extensibility.md
matthidinger May 19, 2020
cdafc07
Update index.md
matthidinger May 19, 2020
e0d2261
Merge branch 'live' into master
matthidinger May 19, 2020
f56d32c
Push live (#287) (#288)
matthidinger May 19, 2020
ca7e2ee
Update sdk.md
matthidinger May 19, 2020
eb9c2ad
Update language.md
matthidinger May 19, 2020
c3cdf7d
Update host-config.md
matthidinger May 19, 2020
a8bc27c
CC191749 - Fixing Typo (#293)
V-vafune May 29, 2020
f744b9f
Update sdk.md
matthidinger Jun 2, 2020
f1dbc8e
Update sdk.md
matthidinger Jun 2, 2020
eb4a407
Update version number of Web Chat (#299)
compulim Jun 10, 2020
00e4849
added markdown clarification
matthidinger Jun 18, 2020
aae99de
change http to https
chenhao2020 Jul 7, 2020
b267e55
change http to https (#303)
chenhao2020 Jul 8, 2020
06bdf78
Update outlook.md to fix a dead link (#297)
stevebeauge Jul 8, 2020
89ae069
Update Web Chat to 4.9.2 (#308)
compulim Jul 14, 2020
b8aa793
[Android] Action.ShowCard native styling (#310)
golddove Jul 16, 2020
027dfb9
Update JS extensibility doc to include 2.0 model (#298)
dclaux Jul 16, 2020
8cd10c0
fix link
matthidinger Jul 16, 2020
df4e5c1
Update sdk.md (#296)
jwoo-msft Jul 16, 2020
261d8c4
Added C# Code Exmaple (#307)
blueboxes Jul 16, 2020
51f1237
Merge branch 'master' of https://github.com/MicrosoftDocs/AdaptiveCar…
chenhao2020 Jul 21, 2020
fce3a09
fix schemas error
chenhao2020 Jul 21, 2020
1ec19ca
Add documentation for input validation
Jul 24, 2020
f3c1b40
Updating link to maven packages
shalinijoshi19 Aug 3, 2020
94310b5
PR feedback
Aug 3, 2020
ea86df0
Merge pull request #313 from chenhao2020/chenhao2020-fix-schemas
shalinijoshi19 Aug 3, 2020
a41693c
Merge pull request #315 from MicrosoftDocs/rebecch/inputValidationDocs
Aug 3, 2020
091dce6
Update renderer status page to reflect input validation
Aug 4, 2020
7c3e051
Fix link
Aug 4, 2020
48f28d4
Fix mistaken revert
Aug 4, 2020
12ef777
Fix link again
Aug 4, 2020
95ad6c7
Another link update
Aug 4, 2020
f345089
Merge pull request #321 from MicrosoftDocs/rebecch/renderstatusupdate
Aug 4, 2020
66de51e
Updating status for NativeStyling row item
shalinijoshi19 Aug 5, 2020
53f9c18
Add host config changes
almedina-ms Aug 5, 2020
d37ef11
Fix warning
almedina-ms Aug 5, 2020
dba9232
Add label to input validation page
almedina-ms Aug 6, 2020
df6a34e
Fix comments from PR
almedina-ms Aug 6, 2020
ba88acb
Merge pull request #322 from MicrosoftDocs/user/almedina-ms/UpdateOnD…
almedina-ms Aug 6, 2020
5b0f4ad
Updating update log
shalinijoshi19 Aug 6, 2020
db2c078
Update future.md with links to productboard (#334)
shalinijoshi19 Oct 14, 2020
a3815a9
Update JS extensibility page for inputs (#342)
dclaux Nov 18, 2020
d10896e
Update Web Chat version (#325)
corinagum Nov 18, 2020
d23a80b
Typo (#341)
jenspettersson Nov 18, 2020
aa3a959
Spelling mistake langauge (#340)
manoj1201 Nov 19, 2020
72d776c
Update example to use onProcessMarkdown (#339)
Flexicon Nov 19, 2020
156b57d
Merge branch 'live' into master
matthidinger Nov 20, 2020
01e5b80
Clarify that designer is no longer in preview
matthidinger Jan 4, 2021
31ad396
fix table
matthidinger Jan 19, 2021
c9018e5
Remove whitespace to fix table formatting (#352)
miguelarcilla Jan 19, 2021
286b63b
Merge branch 'live' into master
matthidinger Jan 19, 2021
ff57442
Tentative update to the .NET HTML project to mark maintenance mode (#…
matthidinger Jan 30, 2021
4e03c1d
Doc for ACL Renderer behaviour (#358)
manujai Feb 3, 2021
b09f096
Action handling update (JS) (#359)
dclaux Feb 5, 2021
e6aca0e
Links: AdaptiveCards (2021-01) (#357)
DCtheGeek Feb 5, 2021
582893d
Add Universal Action Model documentation (#360)
sowrabh-msft Feb 16, 2021
4ab1689
Merge branch 'live' into master
matthidinger Feb 16, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 2 additions & 2 deletions AdaptiveCards/authoring-cards/speech.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ The `speak` tag enables the adaptive card to be delivered to an environment wher

## Speak property
To support speech we have a `speak` property which contains text to say to the user. The text can be annotated using speech synthesis markup language
([SSML](https://msdn.microsoft.com/library/office/hh361578)). SSML controls the speed, tone, and inflection of the speech. It even allows you to stream audio or a render a TTS audio stream from your own service, giving you a great deal of flexibility for customization.
([SSML](/previous-versions/office/developer/speech-technologies/hh361578(v=office.14))). SSML controls the speed, tone, and inflection of the speech. It even allows you to stream audio or a render a TTS audio stream from your own service, giving you a great deal of flexibility for customization.

There are two patterns for speak property usage by a host application:

Expand All @@ -32,4 +32,4 @@ There are two patterns for speak property usage by a host application:

## Speech content design

Content designed for speech is different from content designed for visual display. When you design a card, you are designing an entire visual experience to present information to a user in a way that delights them. When designing for speech, you should think about how to verbally describe the content in a way that delights the user.
Content designed for speech is different from content designed for visual display. When you design a card, you are designing an entire visual experience to present information to a user in a way that delights them. When designing for speech, you should think about how to verbally describe the content in a way that delights the user.
325 changes: 325 additions & 0 deletions AdaptiveCards/authoring-cards/universal-action-model.md

Large diffs are not rendered by default.

Binary file added AdaptiveCards/content/action_submit_behaviour.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/height1_text_wrap_off.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/height2_text_wrap_on.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/image_size_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/imagesize2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/spacing1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/spacing2_not_affected.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/spacing3_seperator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/spacing4_with_seperator.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/spacing5_no_effect.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/spacing_no_effect.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/style1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/style2_withBleed.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/width6_all_auto.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/width_1_auto_stretch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/width_2_stretch_stretch.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added AdaptiveCards/content/width_4_w50_p100_w50.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 3 additions & 3 deletions AdaptiveCards/getting-started/bots.md
Original file line number Diff line number Diff line change
Expand Up @@ -110,8 +110,8 @@ If your bot is developed using .NET or NodeJS we have libraries to make building

Platform|Install|Learn more
--------|-------|----------
.NET | `Install-Package AdaptiveCards -IncludePrerelease` | [Bot Framework .NET Docs](https://docs.microsoft.com/bot-framework/dotnet/bot-builder-dotnet-add-rich-card-attachments)
NodeJS | `npm install adaptivecards` | [Bot Framework NodeJS Docs](https://docs.microsoft.com/bot-framework/nodejs/bot-builder-nodejs-send-rich-cards)
.NET | `Install-Package AdaptiveCards -IncludePrerelease` | [Bot Framework .NET Docs](/bot-framework/dotnet/bot-builder-dotnet-add-rich-card-attachments)
NodeJS | `npm install adaptivecards` | [Bot Framework NodeJS Docs](/bot-framework/nodejs/bot-builder-nodejs-send-rich-cards)


## Channel status
Expand All @@ -126,4 +126,4 @@ We've just scratched the surface in this tutorial, so please take a look at the
* [Browse Sample cards](https://adaptivecards.io/samples/) for inspiration
* Use the [Schema Explorer](https://adaptivecards.io/explorer) to learn the available elements
* Build a card using the [Interactive Visualizer](https://adaptivecards.io/visualizer/index.html?hostApp=Skype)
* [Get in touch](https://adaptivecards.io/connect) with any feedback you have
* [Get in touch](https://adaptivecards.io/connect) with any feedback you have
6 changes: 3 additions & 3 deletions AdaptiveCards/getting-started/windows.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ The first Windows experience to supports Adaptive Cards is Timeline, a brand new

### UserActivity API

The [`Windows.ApplicationModel.UserActivities.UserActivity`](https://docs.microsoft.com/uwp/api/windows.applicationmodel.useractivities.useractivity) API is what populates an Activity into Timeline.
The [`Windows.ApplicationModel.UserActivities.UserActivity`](/uwp/api/windows.applicationmodel.useractivities.useractivity) API is what populates an Activity into Timeline.

The Adaptive Card will be supplied via the `Content` property of `VisualElement`, as seen below:

Expand All @@ -32,7 +32,7 @@ await userActivity.SaveAsync();

There is a great 45-min learn module that covers these steps end-to-end.

[Integrate adaptive cards into Windows 10 Timeline](https://docs.microsoft.com/learn/modules/integrate-app-into-windows-10-timeline/)
[Integrate adaptive cards into Windows 10 Timeline](/learn/modules/integrate-app-into-windows-10-timeline/)

### Learn more

Expand All @@ -50,4 +50,4 @@ We've barely scratched the surface in this tutorial, so check back soon and brow
* [Browse Sample cards](https://adaptivecards.io/samples/) for inspiration
* Use the [Schema Explorer](https://adaptivecards.io/explorer) to learn the available elements
* Build a card using the [Interactive Visualizer](https://adaptivecards.io/visualizer/index.html?hostApp=Skype)
* [Get in touch](https://adaptivecards.io/connect) with any feedback you have
* [Get in touch](https://adaptivecards.io/connect) with any feedback you have
3 changes: 2 additions & 1 deletion AdaptiveCards/rendering-cards/actions.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,5 @@ By default, the actions will render as buttons on the card, but it's up to your

* **Action.OpenUrl** - open the specified `url`.
* **Action.Submit** - take the result of the submit and send it to the source. How you send it to the source of the card is entirely up to you.
* **Action.ShowCard** - invokes a dialog and renders the sub-card into that dialog. Note that you only need to handle this if `ShowCardActionMode` is set to `popup`.
* **Action.ShowCard** - invokes a dialog and renders the sub-card into that dialog. Note that you only need to handle this if `ShowCardActionMode` is set to `popup`.
* **Action.ToggleVisibility** - shows or hides one or more elements in the card.
212 changes: 212 additions & 0 deletions AdaptiveCards/rendering-cards/renderer-behaviour.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,212 @@
---
title: Renderer Behaviour Guideline
author: manujai
---


# Adaptive Card Renderer Behaviour Guideline

The following specification describes the design guideline to be followed when implementing the behaviour of a renderer with respect to parsing the relationship between the card elements.
> [!IMPORTANT]
>
> This content is not finished yet. Check back shortly.


## Behaviours

The Renderer **MUST** take care to the following behaviours when rendering card elements with respect to the attributes mentioned in this doc.

1. **Constraints**
2. **Image Size**
3. **Action.Submit**

## Constraints

The renderer should manage **Constraints** taking into account the various factors such as margin, padding, height and width etc configuration of the card elements and its children.

## Width

1. Allowed values - `auto`, `stretch` and fixed values in terms of `pixels` and `weight`
2. `auto` provides sufficient space for expansion of width (supports min expansion)
3. `stretch` takes up the remaining width (supports max expansion)

Below below scenarios describes how the constraints are affected with different width combinations for columns

### `auto` vs `stretch`
1. Columns with `auto` and `stretch` width.

![Column with auto and stretch width](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/width_1_auto_stretch.png)

* The first column with `auto` width takes sufficient space to display the content and the second column with `stretch` width takes up the entire space.

2. Columns with only `stretch` width

![Column with only stretch width](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/width_2_stretch_stretch.png)

* Columns with only stretch width takes up the remaining spaces after dividing it equally.

3. `auto`,`stretch` and `auto`

![Column with auto and stretch combination width](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/width3_auto_stretch_auto.png)

The **first** and **third** columns width is adjusted first to accommodate the elements sufficiently and the **second** column with stretched width takes up the remaining space.

4. Order of displaying elements with `auto` width columns

![Columns with auto width](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/width6_all_auto.png)

* Columns with `auto` will position themselves to provide ample space for the content to render.
* In case of **Image views**, images will downscale to fit the remaining width.
* **Note:** Images will downscale only for `stretch` and `auto` image size, but not for fixed width and height in pixels.

### `weights` vs `pixels`

1. Columns with `weight` and `pixel` width combination

![Columns with weightage and pixel width combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/width_4_w50_p100_w50.png)

* The above card has three columns with the following width configuration -
* `Column1: Weight 50`, `Column2: 100px`, `Column3: Weight 50`
* The width of Column 2 is determined by the `pixel value`
* The width of Column 1 and 3 is adjusted based on the `weights` and the calculated `weight ratio`.

2. Columns with `weight`, `pixel width` and `auto` attributes

![Columns with wight, pixel width and auto combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/width5_w50_p100_w50_auto.png)

* The above card has four columns with the following width configuration -
* `Column1: Weight 50`, `Column2: 100px`, `Column3: Weight 50`, and `Column4: auto`
* **Note:** Image view with `auto` width column downscales to adjust to the remaining space.

### Precedence order of displaying elements with the width attribute
`px` > `weight` > `auto` > `stretch`


## Height

Allowed values - `auto` and `stretch`

Below scenarios describes how the constraints are affected with different height combinations for card elements

1. Elements expand freely vertically when card is not of fixed height

![Columns with auto and stretch height](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/height1_text_wrap_off.png)

* Both the columns can expand sufficiently vertically irrespective of `auto` and `stretch` values
* This is with the `wrap` property disabled for the text block.

2. The card below has the `wrap` property enabled for the text block.

![Column with wrap property for text block](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/height2_text_wrap_on.png)


## Spacing and Separator

1. **Spacing** - Allowed values `none`, `small`, `default`, `medium`, `large`, `extra large` and `padding`

* Spacing attribute adds spacing between this element and the preceding element.

![Elements with different spacing combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/spacing1.png)

* Spacing attribute does not have any effect when its the first element in the view container.

![Element where spacing has no effect](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/spacing_no_effect.png)

* The elements marked with arrow are the first elements among its siblings, so spacing has no effect.

2. **Separator** - Possible values (on/off toggle)

* Draws a seperating line at the top of the element.

![Elements with seperator attribute](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/spacing3_seperator.png)

3. **Spacing and Seperator combination**

* The constraints of the spacing and the seperator combination are illustrated below.

![Spacing and seperator combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/spacing4_with_seperator.png)

* The overall spacing distance is maintained with respect to the values provided.
* The seperator is added halfway in the middle of the spaced distance.

[Note. Need to confirm the distance where the seperator is inserted in the spacing area. Seems like the middle]

## Container Styles

* Provides styling hints for containers such as columns and columnset
* Allowed values `none`, `default`, `emphasis`, `good`, `attention`, `warning` and `accent`
* These predefined style options provides padding for the elements within the container and background color


![Columns and ColumnSet Style Combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/style1.png)

1. Card A illustrates columns and columnset with no style options
2. Card B illustrates columnset with **Attention** style. Notice the padding within the columnset container and the change in background color.
3. Card C illustrates columns with styling only. Similar to the previous one, column includes padding and background change.
4. Card D illustrates columns and columnset both with style options.

[Note. Need to check how the padding amount is determined. Is it determined by the host? ]

## Bleed

* This property allows the container such as columns and columnset to bleed through its parent.
* Possible values `on` and `off`.


![Column with bleed property](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/style2_withBleed.png)

1. Card A illustrates columns and columnset with regular styling.
2. Card B illustrates the first column with bleed option. The content just bleeds through its boundaries to its parent's.

## Image Size

### `Size` attribute
* Allowed values - `auto`, `stretch`, `small`, `medium`, `large`
* `auto` : Images will scale down to fit if needed, but will not scale up to fill the area.
* `stretch` : Image with both scale down and up to fit as needed.
* `small`, `medium` and `large`: Image is displayed with a fixed width, where the width is determined by the host.

1. `auto` vs `stretch`

![Image with auto and stretch behaviour](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/image_size_auto_stretch.png)

2. Column width and Image Size combination

![Column width and image size combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/imagesize2.png)

* Generally, Columns with `stretch` width allow images to upscale freely with `stretch` size.
* Columns with `auto` width allows image to occupy exact space irrespective of `auto` and `stretch` size of image.
* Column width takes more precedence in determining the image size in this arrangement.

### Image `Width (in pixels)` attribute
* This provides the desired on-screen width of the image.
* `size` property is overriden when a value is specified

![Column width and image width in pixels combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/image_size_3.png)
* The column with `auto` width will have more precedence than `stretch` in providing room for image content in this arrangement.

### Column Width (weight and pixel) and Image size (auto and stretch) Combination

![Column width and image size combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/column_width_image_width_2.png)
* Images with `auto` size takes sufficient space for expansion (or downscales) within the column constraints of `weight` and `pixel` width.
* Images with `stretch` size can expand to fill the remaining space within the constraints of column `weight` and `pixel` width.

## Action.Submit
* `Action.Submit` element gathers input fields, merges with optional data field, and sends an event to the client.
* A significant difference in the element behaviour is present between 1.x and 2.x version of the ACL renderer.

![Column width and image width combination](https://github.com/manujai/AdaptiveCards/blob/doc_renderer_behaviour/AdaptiveCards/content/action_submit_behaviour.png)

* `1.x Renderer` - The inputs are collected from all fields irrespective of the where in the hierarchy the input field is present.
* `2.x Renderer` - The inputs are collected from fields present in parent container or as a sibling of the `Action.Submit` element.

## Summary
* Column width takes more precedence in determining the size of the image than its image size (auto, stretch, min width etc).
* The precedence of the column width taken to display its content sufficiently - `px` > `weight` > `auto` > `stretch`
* Image `size` (auto, stretch) is **ignored** when Image `width` and `height` in px is provided.
* Image `stretch` size attribute will upscale the image only when there is remaining space and column auto is **not** `auto`.
* An image stretches itself to the limit where it maintain its aspect ratio in the space available in the column. In turn, the height expands freely.
* `Spacing` attribute will not have any effect when its the first or the only element among its sibling.



5 changes: 2 additions & 3 deletions AdaptiveCards/rendering-cards/speech.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,11 @@ ms.topic: article

To support speech adaptive Cards has the `speak` property which contains information on how a card should be read aloud to a user.

The speech tag can be annotated using [SSML markup](https://msdn.microsoft.com/library/office/hh361578(v=office.14).aspx).
The speech tag can be annotated using [SSML markup](/previous-versions/office/developer/speech-technologies/hh361578(v=office.14)).
SSML gives you the ability control the speed, tone, inflection of the speech. It even allows you to stream audio or a render a TTS audio stream
from your own service, giving you a great deal of customization.

There are 2 patterns for speak property usage by a host application:
* **on delivery** - When a card is delivered a client may opt to read the Speak property for the card to describe the card as a whole.
* **on demand** - In order to support a richer accessibility model the schema supports a speak tag per element.
This allows for clients to read each element to recipients with accessibility requirements.

This allows for clients to read each element to recipients with accessibility requirements.
Loading