Seems weird when we try to use a `select` component, and pass a value as a prop, it prompts with the error to either set `onChange` or `readOnly`.
the `readOnly` at the last seems misleading since the `select` component does not have a `readOnly` prop, unlike inputs which do  have a `readOnly` attribute.

**SELECT PROPS**
https://react.dev/reference/react-dom/components/select

seems an easy fix would be to check if the mounted component is a `select` component and then conditionally just change the error message, though would need to add tests to support the same.

https://github.com/facebook/react/assets/72331432/12674152-7d57-4d98-99e6-635577b31bfe

cc @sophiebits 

codesandbox link to tinker:- https://codesandbox.io/s/admiring-wright-9sctsn?file=/src/App.js 
return (
        <select>
          <option selected={true} />
          <option selected={true} />
        </select>
      );
    }
    expect(() => ReactTestUtils.renderIntoDocument(<App />)).toErrorDev(
      'Use the `defaultValue` or `value` props on <select> instead of ' +
        'setting `selected` on <option>.',
    );
    ReactTestUtils.renderIntoDocument(<App />);
  });
  it('should warn if value is null and multiple is true', () => {
    expect(() =>
      ReactTestUtils.renderIntoDocument(
        <select value={null} multiple={true}>
          <option value="test" />
        </select>,
      ),
    ).toErrorDev(
      '`value` prop on `select` should not be null. ' +
        'Consider using an empty array when `multiple` is ' +
        'set to `true` to clear the component or `undefined` ' +
        'for uncontrolled components.',
    );