The "size" attribute is passed along to the HTML <input> tag produced by the widget. This attribute changes the horizontal size of the input field, using some internal browser calculation to determine how many pixels are needed to show the indicated number of characters in the current font. Unfortunately, this is typically a very inaccurate calculation and the input field will generally be somewhat wider than the actual size needed to fit the specified character length. You'd be better off defining a CSS class, like this:
.myEdit input { width:100%; }
and then writing
@@.myEdit <$edit-text .../>@@
Just like HTML syntax, TW widgets have both <$widgetname> and </$widgetname> markers that can surround content. What the widget does with that content depends entirely on the specfic widget in question. For example, in the <$list> widget, you typically write something like:
<$list filter="...">
some content here
</$list>
where the content in between <$list> and </$list> is used to render each item matched by the filter.
However, in the case of the <$edit-text> widget, it doesn't have any use for content that might be provided in between the <$edit-text> and </$edit-text> markers. This is why the documentation says, "the content .. is ignored".
Note also that, because <$edit-text> doesn't need any enclosed content, there's actually no need for the matching </$edit-text> marker and instead, a trailing / is placed in the opening widget marker, like this:
<$edit-text ... params... />
and the corresponding </$edit-text> marker is simply omitted.