Programmatically change placeholder text of form input Inside a custom block plugin I'm creating, I programmatically load the user form and return it like so

public function build() {
    $fb       = \Drupal::formBuilder();
    $userform = $fb-&gt;getForm("Drupal\user\Form\UserLoginForm");

    $render = [
        '#type'       =&gt; 'container',
        '#attributes' =&gt; [
            'class'      =&gt; ['row', 'expanded'],
            'id'         =&gt; ['login-page-block']
        ],
        'userlogin' =&gt; [
            '#type'    =&gt; 'html_tag',
            '#tag'     =&gt; 'h3',
            '#value'   =&gt; 'Welcome Members!',
            'caption'  =&gt; [
                '#type'   =&gt; 'html_tag',
                '#tag'    =&gt; 'p',
                '#value'  =&gt; 'To access member-exclusive content on our website, you must login.',
            ],
            'form' =&gt; $userform,
        ],
    ];

    return $render;
}


It creates labels for the inputs for Username and Password, but I'd rather ditch the labels and put 'Username' and 'Password' as placeholders inside the input fields. However I'm not sure how I would go about doing that. I performed a die(print_r($userform)); to get a list of fields in the array but I didn't see anything applying to the array.

Is there a way to place placeholder text inside the text input fields of a form that was programmatically retrieved and rendered?

UPDATE: I attempted changing the placeholder by writing

$userform['keys']['#attributes']['placeholder'] = t('Username');


But that didn't seem to do anything.
I was able to add the placeholder text by entering 

    $userform['name']['#attributes']['placeholder'] = t('Username');
    $userform['pass']['#attributes']['placeholder'] = t('Password');


After looking at the results of die(print_r($userform)); more closely I saw that the username input was called 'name', and password was 'pass'